事務職員のPower Automate Desktopやってみた 【コードを共有します】 ~ファイルの一括PDF化・PDFファイルの統合~
事務職員のPower Automate Desktopやってみた~ファイルの一括PDF化・PDFファイルの統合~で紹介したフローのコードを共有します。
以下コードをコピーし、ご自身のフローに貼り付けてご利用ください。
また、フローの共有方法は↓こちらを参考にしてください。
事務職員のPower Automate Desktopやってみた~フローのコピー・他人との共有編~
はじめに
※フォルダパスにおけるユーザー名部分は●●にしています。
コピペ後、ご自身の環境に合わせて適宜変更してください。
フローの概要
本フローはMainフローに以下を構成します。
・フォルダ内の指定ファイルをPDF化
・フォルダ内のPDFファイルを統合
コード
Folder.GetFiles Folder: $'''C:\\Users\\●●\\Desktop\\PADてすと\\PDF化テスト''' FileFilter: $'''*.xls;*.docx;*.pptx''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
LOOP FOREACH CurrentItem IN Files
System.RunApplication.RunApplication ApplicationPath: CurrentItem WindowStyle: System.ProcessWindowStyle.Normal ProcessId=> AppProcessId
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Alt}()''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''F''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''E''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''P''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''A''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Control}({L})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''C:\\Users\\●●\\Desktop\\PADてすと\\PDF化テスト''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Alt}({S})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 1
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Alt}()FX''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
WAIT 3
END
Folder.GetFiles Folder: $'''C:\\Users\\●●\\Desktop\\PADてすと\\PDF化テスト''' FileFilter: $'''*.pdf''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.FullName SortDescending1: True SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Filespdf
Pdf.MergeFiles PDFFiles: Filespdf MergedPDFPath: $'''C:\\Users\\●●\\Desktop\\PADてすと\\PDF化テスト\\統合ファイル.pdf''' IfFileExists: Pdf.IfFileExists.AddSequentialSuffix PasswordDelimiter: $''',''' MergedPDF=> MergedPDF
# [ControlRepository][PowerAutomateDesktop]
{
"ControlRepositorySymbols": ,
"ImageRepositorySymbol": {
"Name": "imgrepo",
"ImportMetadata": {},
"Repository": "{\r\n \"Folders\": ,\r\n \"Images\": [],\r\n \"Version\": 1\r\n}"
}
}
ASUS ExpertBookがビジネスマンにおすすめな理由5点
ASUSのノートPC
ExpertBook B9 B9450FA-BM1083Tを購入したので
使ってみて良かって点5つを紹介します。
1.圧倒的軽さ
重さは870gで、片手で持ちあげることも余裕です。
通勤や会議等で移動する際にもストレスを感じることもありません。
2.タイピングのしやすさ
ディスプレイを開くとキーボードが斜めになる設計となっており、
快適にタイピングすることが可能です。
3.ナンバーパッドと指紋認証センサー
タッチパッドの右上の角に約1秒触れると、
タッチパッドにテンキーが浮かび上がります。
数字を含むデータ入力や、計算をする際に非常に便利です。
指紋認証センサーにより、
PC起動時にパスワードを入力する必要がありません。
僅かなことかもしれませんが、
このストレスからの解放はかなり大きいです。
4.十分な接続端子
HDMI端子×1、USB Type C×2、USB Type A×1等が備わっており、
会議等で外部モニターに表示させることもでき便利です。
事務職員のPower Automate Desktopやってみた~ファイルの一括PDF化・PDFファイルの統合~
Word、Excel、Power Pointで作成したデータをPDF化し、
それぞれのPDFデータを統合する。
このようにして、会議資料や報告書を作成することがあると思います。
今回はこれらを自動で行うフロー紹介します。
0.はじめに
以下を前提条件とします。
・PDF化するファイルを1つのフォルダに保存
・ファイル名の頭に番号を付ける
(統合する際に、この番号順にするため)
1.フローの概要
本フローはMainフローに以下を構成します。
・フォルダ内の指定ファイルをPDF化
・フォルダ内のPDFファイルを統合
2.フォルダ内の指定ファイルをPDF化
PDF化の流れとしては、特定のフォルダに保存されているファイルを
取得し、アクション『For each』で「アプリを開く・PDFとして
エクスポート・閉じる」操作を繰り返します。
2-1.指定ファイルの取得
まずは、PDF化するファイルを取得するため、
アクション『フォルダー内のファイルを取得』を検索し、
ダブル クリックします。
以下を設定し保存します。
フ ォ ル ダ ー:
ファイルが保存されているフォルダーパスを入力します。
今回は、テスト用として
『C:\Users\●●\Desktop\PADてすと\PDF化テスト』とします。
(●●はPCのユーザー名なので、黒塗りしています。)
ファイルフィルター:
取得するファイルを制限するフィルターを選択します。
入力の仕方は、『*.』(アスタリスク+ピリオド)の後に取得したい、
ファイルの拡張子を入力します。
また、複数のファイル(拡張子)を取得する場合は
『;』(セミコロン)で区切ります。
今回はExcel、Word、PowerPointのファイルを準備しているので、
『*.xls;*.docx;*.pptx』とします。
※生成された変数(変数の名前)は変更可能。
ここではデフォルトの『Files』とします。
ちなみに、ここまでで一度フローを実行してみます。
右側にある変数『Files』をダブルクリックすると、
「0.はじめに」で説明したファイルが取得されていることがわかります。
↓
詳細表示では作成日時やファイル名などを確認することができます。
2-2.For each
次に、アクション『For each』にて
これらファイルをPDF化していきます。
For eachはリストやデータなど、複数アイテムの集合において、
最初から最後のアイテムまで順に
指定した処理を反復するアクションです。
例えば、先程取得した『Files』でいうと
アイテム番号0から5の6個のアイテムがありますが、
この0番から5番までの各アイテムに対し
指定した処理を繰り返すことができます。
今回は、これら『Files』の各アイテムに対し
「アプリを開く・PDFとしてエクスポート・閉じる」を
繰り返して行きます。
まずはアクション『For each』を検索し、ダブルクリックします。
反復処理を行う値に、先程取得した『%Files%』を入力し保存します。
※生成された変数(変数の名前)は変更可能。ここではデフォルトの『CurrentItem』とします。
2-3.「アプリを開く・PDFとしてエクスポート・閉じる」
次に、アクション『アプリケーションの実行』を検索し、
ダブルクリックします。
これは、Word等のアプリを起動させるアクションです。
以下を設定し、保存します。
アプリケーションパス:%CurrentItem%
これ以外はデフォルトのままとします。
続いて、キー操作でPDFとしてエクスポートします。
Altキーを押すと、このように各コマンドに
アルファベットが表示されますので、
そのアルファベットを順に入力することで、
アプリを操作することができます。
support.microsoft.com
アクション『キーの送信』を検索し、ダブルクリックします。
修飾キーの挿入よりAltキーを選択し、保存します。
同様に、各コマンドに表示されるアルファベットをキー入力します。
PDFとしてエクスポートするまでのキーは、
『F』→『E』→『P』→『A』です。
ここまで入力すると、保存先を要求されます。
ExcelとPowerPointの保存先は、
基のファイルの保存場所のようですが、
Wordは、ドキュメントになるようです。
なので、保存先を基のファイルの保存場所に指定するため、
『Control』+『L』でアドレスバーを全選択し、
基のファイルパスを入力します。
ファイルパスを入力後、『Alt』+『S』で保存し、
『Alt』→『F』→『X』のリボンの操作でファイルを閉じます。
ここまでのアクションを『For each』と『End』の間に入れます。
これで『For each』のフローは完了に思えますが、
実際に実行してみると、
うまくPDF化されないケースがあると思います。
それは、フロー実行時の処理スピードに
画面の遷移等が追い付かず、
次のアクションがエラーとなることが原因です。
そのため、『wait』アクションを使い、
処理スピードを調整する必要があります。
(『wait』は、指定した秒数だけフローの実行を中断するアクション)
アプリの容量や、PCのスペックにも依ると思いますので、
うまく処理される中断秒数を見つけ設定してください。
今回のテストでは、各操作の間に1秒、アプリを閉じた後に3秒の
『wait』を使用しています。
このように途中で『wait』を挟めるように
『F』→『E』→『P』→『A』等をそれぞれ個別のアクションに
分けたのですが、エラーが生じないようであれば、
まとめて『{Alt}()FEPA』と設定しても良いと思います。
これでフォルダ内の指定ファイルをPDF化する作業は終了です。
3.フォルダ内のPDFファイルを統合
PDF化されたファイルを取得し、統合します。
アクション『フォルダー内のファイルを取得』を検索し、
ダブルクリックします。
以下を設定し保存します。
フ ォ ル ダ ー:
C:\Users\●●\Desktop\PADてすと\PDF化テスト
ファイルフィルター:
*.pdf
※生成された変数(変数の名前)は変更可能。
ここでは『Filespdf』とします。
※詳細を開き「名前」で降順にするよう設定します。
(この設定でファイル名の先頭につけた番号順に
統合されるようになります。)
最後に、上記で取得したファイル(『Filespdf』)を統合します。
アクション『PDFファイルを統合』を検索し、ダブルクリックします。
以下を設定し保存します。
PDFファイル:
%Filespdf%
結合されたPDFのパス:
C:\Users\●●\Desktop\PADてすと\PDF化テスト\統合ファイル.pdf
※生成された変数(変数の名前)は変更可能。
ここでは『MergedPDF』とします。
以上で完成です。
事務職員のPower Automate Desktopやってみた~【コードを共有します】特定のメールの本文と添付ファイルの保存編~
事務職員のPower Automate Desktopやってみた~特定のメールの本文と添付ファイルの保存編~で紹介したフローのコードを共有します。
以下コードをコピーし、ご自身のフローに貼り付けてご利用ください。
また、フローの共有方法は↓こちらを参考にしてください。
事務職員のPower Automate Desktopやってみた~フローのコピー・他人との共有編~
0.はじめに
※フォルダパスにおけるユーザー名部分は●●に、Outlookのアカウント部分は■■にしています。
コピペ後、ご自身の環境に合わせて適宜変更してください。
1.フローの概要
本フローはMainフローに以下を構成します。
①:件名で指定したメールを取得する。
(送信者、宛先、本文の内容でも指定できます。)
↓
②:アクション『For each』にて上記で取得した各メールに以下を繰り返す。
・フォルダーの作成
・メール本文の保存(txt形式)
・添付ファイルの保存
2.コード
Outlook.Launch Instance=> OutlookInstance
Outlook.RetrieveEmailMessages.RetrieveEmails Instance: OutlookInstance Account: $'''■■''' MailFolder: $'''Inbox''' EmailsToRetrieve: Outlook.RetrieveMessagesMode.All MarkAsRead: True SubjectContains: $'''【3月11月(金)〆切】power automate desktop調査''' Messages=> RetrievedEmails
LOOP FOREACH CurrentItem IN RetrievedEmails
Folder.Create FolderPath: $'''C:\\Users\\●●\\Desktop\\PADてすと''' FolderName: CurrentItem.subject Folder=> NewFolder
Outlook.SaveOutlookEmailMessages.SaveEmailsAs Instance: OutlookInstance Account: $'''■■''' EmailsToSave: CurrentItem SaveFormat: Outlook.MessageType.TextOnly SaveEmailsAs: $'''メール%CurrentItem.subject%''' SaveEmailsTo: NewFolder
Outlook.RetrieveEmailMessages.RetrieveEmailsAndSaveAttachments Instance: OutlookInstance Account: $'''■■''' MailFolder: $'''Inbox''' EmailsToRetrieve: Outlook.RetrieveMessagesMode.All MarkAsRead: True SubjectContains: CurrentItem.subject SaveAttachmentsInto: NewFolder
END
3.注意点
※メールの件名を新規作成するフォルダ名に設定しているので、
以下の様にメールの件名を指定しつつ、部署名等で差別化を図る必要があります。
・【〇月〇日〆切】〇〇調査(部署名)
・【〇月〇日開催】〇〇会議資料(部署名)
件名を上記の様に指定するよう、照会時に伝えておきましょう。
※ウイルス付きメールを取得する可能性もあるので、メール受信は個別に確認して、
保存作業を自動化することをお勧めします。
事務職員のPower Automate Desktopやってみた~特定のメールの本文と添付ファイルの保存編~
とある調査で各部署に照会し、メール添付で回答させる。また、とある会議の資料をメールで提出させる。
このような業務はよくあると思いますが、1件1件検索し、ファイルを保存するのは面倒ですよね。
そんな特に役立つOutlookアクションを利用した『特定のメール本文と添付ファイルを、指定したフォルダに保存』を
自動で行うフローを紹介します。
0.フローの概要
本フローはMainフローに以下を構成します。
①:件名で指定したメールを取得する。
(送信者、宛先、本文の内容でも指定できます。)
↓
②:アクション『For each』にて上記で取得した各メールに以下を繰り返す。
・フォルダーの作成
・メール本文の保存(txt形式)
・添付ファイルの保存
1.Outlookを起動し、件名で指定したメールメッセージを取得する
アクション『Outlook を起動します』を検索し、ダブルクリックします。
後のOutlookアクションで使用する特定のOutlookインスタンスを入力します。
ここではデフォルトの『Outlookinstance』にします。
Outlookのアクションを使用する場合は、まずこれが必要です。
続いて、アクション『Outlook からメール メッセージを取得します』を検索し、ダブルクリックします。
以下を設定し、保存します。
Outlook インスタンス :%OutlookInstance%
ア カ ウ ン ト :ご自身のOutlookアカウントを入力してください。
メ ー ル フ ォ ル ダ ー :指定するメールがあるフォルダを入力してください。
ここでは『Inbox』とします。
取 得 :すべて、未読または既読のいずれかのメッセージを指定できます。
ここでは『すべてのメール メッセージ』とします。
既読としてマークします :未読メッセージを既読としてマークするかを選択でできます。
ここではデフォルトの『有効』にします。
件名に次が含まれています:取得したいメールの件名を入力してください。
ここでは、『【3月11月(金)〆切】power automate desktop調査』とします。
(以下のとおり、送信者、宛先、本文でも指定することができます。)
添 付 フ ァ イ ル :添付ファイルを保存しません(ここでは保存しません。後ほど、保存します。)
※生成された変数(変数の名前)は変更可能。ここではデフォルトの『RetrievedEmails』にします。
ここまでで一度フローを実行してみます。
右側のフロー変数が取得されますので『RetrievedEmails』をダブルクリックし、結果を確認します。
今回テストで準備した10件のメールが取得されていることがわかります。
↓
詳細表示では本文や件名などを確認することができます。
2.For eachで「フォルダ作成・メール本文保存・添付ファイル保存」を繰り返す
For eachはリストやデータなど、複数アイテムの集合において、
最初から最後のアイテムまで順に指定した処理を反復して行うためのアクションです。
例えば、先程取得した『RetrievedEmails』でいうとアイテム番号0から9の10個のアイテムがありますが、
この0番から9番までの各アイテムに対し指定した処理を繰り返すことができます。
今回は、これら『RetrievedEmails』の各アイテムに対し「フォルダ作成・メール本文保存・添付ファイル保存」を
繰り返して行きます。
2-1.For each
まずはアクション『For each』を検索し、ダブルクリックします。
反復処理を行う値に、先程取得した『%RetrievedEmails%』 を入力し保存します。
※生成された変数(変数の名前)は変更可能。ここではデフォルトの『CurrentItem』とします。
フローは以下のとおりです。
2-2.フォルダ作成
次に、メールの件名を名前とするフォルダーを作成するため、
アクション『フォルダーの作成』を検索し、ダブルクリックします。
以下を設定し、保存します。
新しいフォルダーを次の場所に作成:C:\Users\●●\Desktop\PADてすと
(●●はPCのユーザー名なので、黒塗りしています。)
(フォルダパスはご自身の環境に合わせて適宜変更してください。)
新 し い フ ォ ル ダ ー 名:%CurrentItem.subject%
※生成された変数(変数の名前)は変更可能。ここでは、『NewFolder』を使用
新しいフォルダー名の『%CurrentItem.subject%』における
『CurrentItem』は、先程For eachで設定した反復処理を実行する、『RetrievedEmails』のアイテム0から9を指し、
『.subject』は、それらの件名を指します。
2-3.メール本文保存
続いて、上記で作成したフォルダにメール本文を保存するため、
アクション『Outlook メール メッセージを保存します』を検索し、ダブルクリックします。
以下を設定し、保存します。
Outlook イ ン ス タ ン ス :%OutlookInstance%
ア カ ウ ン ト :ご自身のOutlookアカウントを入力してください。
保存するメール メッセージ :%CurrentItem%
保 存 形 式 :保存するメッセージの形式をしていしてください。
ここでは『テキストのみ(*.txt)』とします。
フ ァ イ ル 名 :メール%CurrentItem.subject%
メール メッセージを次に保存します:%NewFolder%
※生成された変数(変数の名前)は、この後使用することはないので、無効にします。
2-4.添付ファイル保存
最後に、上記で作成したフォルダに添付ファイルを保存するため、
アクション『Outlook からメール メッセージを取得します』を検索し、ダブルクリックします。
以下を設定し、保存します。
Outlook イ ン ス タ ン ス :%OutlookInstance%
ア カ ウ ン ト :ご自身のOutlookアカウントを入力してください。
メ ー ル フ ォ ル ダ ー :指定するメールがあるフォルダを入力してください。
ここでは『Inbox』とします。
取 得 :すべて、未読または既読のいずれかのメッセージを指定できます。
ここでは『すべてのメール メッセージ』とします。
既読としてマークします :未読メッセージを既読としてマークするかを選択でできます。
ここではデフォルトの『有効』にします。
件名に次が含まれています:%CurrentItem.subject%
添 付 フ ァ イ ル :添付ファイルを保存します
※生成された変数(変数の名前)は、この後使用することはないので、無効にします。
「フォルダ作成・メール本文保存・添付ファイル保存」のフローを作成したら
それらをFor eachとEndの間に入れて完成です。
3.注意点
※メールの件名を新規作成するフォルダ名に設定しているので、
以下の様にメールの件名を指定しつつ、部署名等で差別化を図る必要があります。
・【〇月〇日〆切】〇〇調査(部署名)
・【〇月〇日開催】〇〇会議資料(部署名)
件名を上記の様に指定するよう、照会時に伝えておきましょう。
※ウイルス付きメールを取得する可能性もあるので、メール受信は個別に確認して、
保存作業を自動化することをお勧めします。
事務職員のPower Automate Desktopやってみた~【コードを共有します】今月フォルダ新規作成→先月フォルダからファイルコピー・名前変更編~
事務職員のPower Automate Desktopやってみた~今月フォルダ新規作成→先月フォルダからファイルコピー・名前変更編~で紹介したフローのコードを共有します。
以下コードをコピーし、ご自身のフローに貼り付けてご利用ください。
また、フローの共有方法は↓こちらを参考にしてください。
事務職員のPower Automate Desktopやってみた~フローのコピー・他人との共有編~
- 0.はじめに
- 1.フローの概要
- 2.メインフローのコード
- 3.サブフロー1:hensu(日時の変数のフロー)のコード
- 4.サブフロー2:foldermake(フォルダを新規作成するフロー)のコード
- 5.サブフロー3:filecopy(データのコピー・名前変更のフロー)のコード
- 6.イメージ
0.はじめに
※フォルダは『・・・\PADてすと\R3\2月』のように年度,月で管理しています。
※フォルダパスにおけるユーザー名の部分は●●にしています。
コピペ後、フォルダパスはご自身の環境に合わせて適宜変更してください。
※ファイルは『てすと4.2.1』のように名前,日付(Y.M.D)としています。
1.フローの概要
本フローはメインフローと3つのサブフローで構成していますので、
それぞれのフローごとにコピペしてください。
・メインフロー:Main
・サブフロー1:hensu(日時の変数のフロー)
・サブフロー2:foldermake(フォルダを新規作成するフロー)
・サブフロー3:filecopy(データのコピー・名前変更のフロー)
2.メインフローのコード
以下3行をコピペしてください。メインフローのみで、サブフローが無いためエラーが表示されますが、
以降のサブフローを作成すれば解消されるので、次に進んでください。
CALL hensu
CALL foldermake
CALL filecopy
3.サブフロー1:hensu(日時の変数のフロー)のコード
日時の変数フローは、以下記事で公開しております。
こちらからコピーしてください。
officeworker365.hatenablog.com
4.サブフロー2:foldermake(フォルダを新規作成するフロー)のコード
/# ★★★★★★★★★★★★
★ 今月フォルダを作成 ★
★★★★★★★★★★★★#/
IF (Folder.IfFolderExists.DoesNotExist Path: $'''C:\\Users\\●●\\Desktop\\PADてすと\\%Rnendoreiwatext%''') THEN
Folder.Create FolderPath: $'''C:\\Users\\●●\\Desktop\\PADてすと''' FolderName: Rnendoreiwatext Folder=> NewFolder
END
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{LWin}({R})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''C:\\Users\\●●\\Desktop\\PADてすと\\%Rnendoreiwatext%''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Return}''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Control}({Shift}({N}))''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: True
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: monthgatutext DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Enter}''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
5.サブフロー3:filecopy(データのコピー・名前変更のフロー)のコード
/# ★★★★★★★★★★★★★★★★★★
★ 先月データを今月フォルダにコピぺ ★
★★★★★★★★★★★★★★★★★★#/
/# ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
☆4月なら前年度を取得,それ以外なら今年度を取得する ☆
☆(4月処理時に前年度3月フォルダからデータをコピーするため) ☆
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆#/
IF month = 4 THEN
DateTime.Add DateTime: CurrentDateTimenendoreiwa TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> nendoreiwacopyyou
END
IF month <> 4 THEN
DateTime.Add DateTime: CurrentDateTimenendoreiwa TimeToAdd: 0 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> nendoreiwacopyyou
END
SET nendoreiwacopyyouYear TO nendoreiwacopyyou.Year
Text.FromNumber Number: nendoreiwacopyyouYear DecimalPlaces: 0 UseThousandsSeparator: False FormattedNumber=> nendoreiwacopyyouYeartext
Text.JoinText.Join List: $'''R%nendoreiwacopyyouYeartext%''' Result=> RnendoreiwacopyyouYeartext
/# ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
☆ コピーするデータ名の定義付け ☆
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆#/
Text.JoinText.Join List: $'''てすと%sengetuhajimereiwaYMDtext%.xlsx''' Result=> testsengetuhajimereiwaYMDtextxlsx
Text.JoinText.Join List: $'''てすと%gessyobireiwaYMDtext%''' Result=> testgessyobireiwaYMDtext
/# ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
☆ データのコピー,日付を今月の日付に変更☆
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆#/
File.Copy Files: $'''C:\\Users\\●●\\Desktop\\PADてすと\\%RnendoreiwacopyyouYeartext%\\%sengetugatutext%\\%testsengetuhajimereiwaYMDtextxlsx%''' Destination: $'''C:\\Users\\●●\\Desktop\\PADてすと\\%Rnendoreiwatext%\\%monthgatutext%''' IfFileExists: File.IfExists.DoNothing CopiedFiles=> CopiedFiles
File.RenameFiles.Rename Files: $'''C:\\Users\\●●\\Desktop\\PADてすと\\%Rnendoreiwatext%\\%monthgatutext%\\%testsengetuhajimereiwaYMDtextxlsx%''' NewName: testgessyobireiwaYMDtext KeepExtension: True IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles
6.イメージ
【メインフロー】
【サブフロー1:hensu(日時の変数のフロー)(一部)】
【サブフロー2:foldermake(フォルダを新規作成するフロー)】
【サブフロー3:filecopy(ファイルのコピー・名前変更のフロー)】
事務職員のPower Automate Desktopやってみた~【コードを共有します】変数・日時編~
事務職員のPower Automate Desktopやってみた~変数・日時編~で紹介したフローのコードを共有します。
以下コードをコピーし、ご自身のフローに貼り付けてご利用ください。
また、フローの共有方法は↓こちらを参考にしてください。
事務職員のPower Automate Desktopやってみた~フローのコピー・他人との共有編~
1.日時の変数一覧
No. | 日時 | 例(2022/2/6の値) |
---|---|---|
1 | 現在の日時 | 2/6/2022 9:45:09 PM |
2 | 現在の日時(令和) | 2/6/0004 9:45:09 PM |
3 | 今月 | 2 |
4 | 先月 | 1 |
5 | 現在の日時(年度) | 2/6/2021 9:45:09 PM |
6 | 現在の日時(年度)(令和) | 2/6/0003 9:45:09 PM |
7 | 今月初め | 2022/2/1 |
8 | 今月初め(令和) | 4/2/1 |
9 | 先月初め | 2022/1/1 |
10 | 先月初め(令和) | 4/1/1 |
11 | 先月末 | 2022/1/31 |
12 | 先月末(令和) | 4/1/31 |
13 | 今年 | 2022 |
14 | 今年(令和) | 4 |
15 | 今年度 | 2021 |
16 | 今年度(令和) | 3 |
17 | 去年 | 2021 |
18 | 去年(令和) | 3 |
19 | 昨年度 | 2020 |
20 | 昨年度(令和) | 2 |
21 | 今年度(令和)(R付き) | R3 |
22 | 今月(月付き) | 2月 |
23 | 先月(月付き) | 1月 |
24 | 今月初め(令和)(Y.M.D) | 4.2.1 |
25 | 先月初め(令和)(Y.M.D) | 4.1.1 |
2.コード(こちらをコピペください。)
/# ★★★★★★★★★★★★★★★★★★★★★★★
★ 1 現在の日時:CurrentDateTime ★
★★★★★★★★★★★★★★★★★★★★★★★
#/
DateTime.GetCurrentDateTime.Current DateTimeFormat: DateTime.DateTimeFormat.DateAndTime Offset: $'''Asia/Tokyo''' CurrentDateTime=> CurrentDateTime
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 2 現在の日時(令和):CurrentDateTimereiwa ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -2018 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> CurrentDateTimereiwa
/# ★★★★★★★★★★★★★
★ 3 今月:month ★
★★★★★★★★★★★★★
#/
SET month TO CurrentDateTime.Month
/# ★★★★★★★★★★★★★★
★ 4 先月:sengetu ★
★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Months ResultedDate=> sengetuDateTime
SET sengetu TO sengetuDateTime.Month
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 5 現在の日時(年度):CurrentDateTimenendo ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
IF month >= 4 THEN
DateTime.Add DateTime: CurrentDateTime TimeToAdd: 0 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> CurrentDateTimenendo
END
IF month <= 3 THEN
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> CurrentDateTimenendo
END
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 6 現在の日時(年度)(令和):CurrentDateTimenendoreiwa ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
IF month >= 4 THEN
DateTime.Add DateTime: CurrentDateTimereiwa TimeToAdd: 0 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> CurrentDateTimenendoreiwa
END
IF month <= 3 THEN
DateTime.Add DateTime: CurrentDateTimereiwa TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> CurrentDateTimenendoreiwa
END
/# ★★★★★★★★★★★★★★★★★★
★ 7 今月初め:gessyobitext ★
★★★★★★★★★★★★★★★★★★
#/
SET gessyobitext TO $'''%CurrentDateTime.Year%/%CurrentDateTime.Month%/1'''
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 8 今月初め(令和):gessyobireiwatext ★
★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
SET gessyobireiwatext TO $'''%CurrentDateTimereiwa.Year%/%CurrentDateTimereiwa.Month%/1'''
/# ★★★★★★★★★★★★★★★★★★★★★★
★ 9 先月初め:sengetuhajimetext ★
★★★★★★★★★★★★★★★★★★★★★★#/
DateTime.Add DateTime: gessyobitext TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Months ResultedDate=> sengetuhajimeDateTime
SET sengetuhajimetext TO $'''%sengetuhajimeDateTime.Year%/%sengetuhajimeDateTime.Month%/1'''
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 10 先月初め(令和):sengetuhajimereiwatext ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★#/
DateTime.Add DateTime: sengetuhajimeDateTime TimeToAdd: -2018 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> sengetuhajimereiwaDateTime
SET sengetuhajimereiwatext TO $'''%sengetuhajimereiwaDateTime.Year%/%sengetuhajimereiwaDateTime.Month%/1'''
/# ★★★★★★★★★★★★★★★★★★★★
★ 11 先月末:sengetumatutext ★
★★★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: gessyobitext TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Days ResultedDate=> sengetumatuDateTime
SET sengetumatutext TO $'''%sengetumatuDateTime.Year%/%sengetumatuDateTime.Month%/%sengetumatuDateTime.Day%'''
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 12 先月末(令和):sengetumatureiwa ★
★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: sengetumatuDateTime TimeToAdd: -2018 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> sengetumatureiwaDateTime
SET sengetumatureiwatext TO $'''%sengetumatureiwaDateTime.Year%/%sengetumatureiwaDateTime.Month%/%sengetumatureiwaDateTime.Day%'''
/# ★★★★★★★★★★★★★
★ 13 今年:year ★
★★★★★★★★★★★★★#/
SET year TO CurrentDateTime.Year
/# ★★★★★★★★★★★★★★★★★★★★
★ 14 今年(令和):yearreiwa ★
★★★★★★★★★★★★★★★★★★★★
#/
SET yearreiwa TO CurrentDateTimereiwa.Year
/# ★★★★★★★★★★★★★★★
★ 15 今年度:nendo ★
★★★★★★★★★★★★★★★
#/
SET nendo TO CurrentDateTimenendo.Year
/# ★★★★★★★★★★★★★★★★★★★★★★★
★ 16 今年度(令和):nendoreiwa ★
★★★★★★★★★★★★★★★★★★★★★★★
#/
SET nendoreiwa TO CurrentDateTimenendoreiwa.Year
/# ★★★★★★★★★★★★★★
★ 17 去年:kyonen ★
★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> kyonenDateTime
SET kyonen TO kyonenDateTime.Year
/# ★★★★★★★★★★★★★★★★★★★★★
★ 18 去年(令和):kyonenreiwa ★
★★★★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTimereiwa TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> kyonenDateTimereiwa
SET kyonenreiwa TO kyonenDateTimereiwa.Year
/# ★★★★★★★★★★★★★★★★★★
★ 19 昨年度:sakunendo ★
★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTimenendo TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> kyonenDateTimenendo
SET sakunendo TO kyonenDateTimenendo.Year
/# ★★★★★★★★★★★★★★★★★★★★★★★★★
★ 20 昨年度(令和):sakunendoreiwa ★
★★★★★★★★★★★★★★★★★★★★★★★★★
#/
DateTime.Add DateTime: CurrentDateTimenendoreiwa TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Years ResultedDate=> kyonenDateTimenendoreiwa
SET sakunendoreiwa TO kyonenDateTimenendoreiwa.Year
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 21 今年度(令和)(R付き):Rnendoreiwatext ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★#/
Text.FromNumber Number: nendoreiwa DecimalPlaces: 0 UseThousandsSeparator: False FormattedNumber=> nendoreiwatext
Text.JoinText.Join List: $'''R%nendoreiwatext%''' Result=> Rnendoreiwatext
/# ★★★★★★★★★★★★★★★★★★★★★★★★
★ 22 今月(月付き):monthgatutext ★
★★★★★★★★★★★★★★★★★★★★★★★★
#/
Text.FromNumber Number: month DecimalPlaces: 0 UseThousandsSeparator: False FormattedNumber=> monthtext
Text.JoinText.Join List: $'''%monthtext%月''' Result=> monthgatutext
/# ★★★★★★★★★★★★★★★★★★★★★★★★★
★ 23 先月(月付き):sengetugatutext ★
★★★★★★★★★★★★★★★★★★★★★★★★★
#/
Text.FromNumber Number: sengetu DecimalPlaces: 0 UseThousandsSeparator: False FormattedNumber=> sengetutext
Text.JoinText.Join List: $'''%sengetutext%月''' Result=> sengetugatutext
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 24 今月初め(令和)(Y.M.D):gessyobireiwaYMDtext ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: gessyobireiwatext CustomFormat: $'''y.M.d''' Result=> gessyobireiwaYMDtext
/# ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★ 25 先月初め(令和)(Y.M.D):sengetuhajimereiwaYMDtext ★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#/
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: sengetuhajimereiwatext CustomFormat: $'''y.M.d''' Result=> sengetuhajimereiwaYMDtext
3.イメージ
はじめだけですが、以下のようなフローができます。