'支払依頼書サーバーアップロード → フォルダの中のファイル、全てをプリントアウト
Option Explicit
Public pathnameIn, pathnameOut, FileName, CsvName, PG_FileName, VBA_PG_FileName As String
'----------------------------------------------------------------
'プリントしたいファイルのフォルダのパス宣言
Public Sub hensuu_settei()
'Cドライブに格納されたデータをサーバーに格納する
pathnameIn = "C:\Users\*****\Desktop\支払依頼書" 'ローカルアドレス
pathnameOut = "\\192.168.1.11\*****\支払依頼書" 'サーバーアドレス
End Sub
'----------------------------------------------------------------
'サーバー上の指定したフォルダにファイル全てを格納
Public Sub All_data_insert()
'上記で宣言した変数呼び出し
Call hensuu_settei
'すべてのファイルを格納
'フォルダをコピー
Dim fso As New FileSystemObject
Dim TargetFolder As String
Dim DestFolder As String
'コピー元フォルダ
TargetFolder = pathnameIn
'コピー先フォルダ(新規に作成)
DestFolder = pathnameOut
fso.CopyFolder Source:=TargetFolder, Destination:=DestFolder
End Sub
'----------------------------------------------------------------
'フォルダの中のファイル全てを削除
Public Sub All_data_delete()
'上記で宣言した変数呼び出し
Call hensuu_settei
'すべてのファイルを削除
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim fl As Folder
Set fl = fso.GetFolder(pathnameOut) ' フォルダを取得
Dim f As File
For Each f In fl.Files
f.Delete (True) ' ファイルを削除
Next
'後始末
Set fso = Nothing
End Sub
'----------------------------------------------------------------
'エクセル上に配置したコンボボタン(btn_server_tensou)押下時処理
'サーバーの中のすべてのファイルを削除し、にすべてのファイルを格納
Private Sub btn_server_tensou_Click()
'サーバーの中のすべてのファイルを削除
Call All_data_delete
'サーバーの中にすべてのファイルを格納
Call All_data_insert
MsgBox ("RPAでCドライブに発行されたデータをサーバーに格納 完了")
End Sub
'----------------------------------------------------------------
'エクセル上に配置したコンボボタン(btn_print)押下時処理
'フォルダの中のすべてのファイルをプリントする
Private Sub btn_print_Click()
'上記で宣言した変数呼び出し
Call hensuu_settei
'変数「FileName」に全てのエクセルName格納
FileName = Dir(pathnameOut & "\" & "*.xlsx")
'アウトプットしたいフォルダにファイルがあるか確認
If Dir(pathnameOut & "\*.xls*") = "" Then
'ない場合、処理を中止します
MsgBox ("「支払依頼書」はありません。" & vbCrLf & "①を実行してから、②を実行して下さい" & vbCrLf & vbCrLf & "処理を中止します")
Exit For
Else
'ある場合処理
'画面のちらつきを停止
Application.ScreenUpdating = True
'警告や確認を促すメッセージの表示を、False(表示しない)
Application.DisplayAlerts = False
'フォルダの中のファイルをすべて印刷実行
Do Until FileName = ""
Workbooks.Open pathnameOut & "\" & FileName
Worksheets("Sheet1").PrintOut 'プリント実行
Workbooks(FileName).Close SaveChanges:=False '保存せずに閉じる
FileName = Dir
Loop
'警告や確認を促すメッセージの表示を、True(表示する)
Application.DisplayAlerts = True
'画面のちらつきを解除
Application.ScreenUpdating = False
'サーバーの中のすべてのファイルを削除
Call All_data_delete
MsgBox ("プリント実行 完了")
End If
End Sub