【ユーザーライブラリ】小技関連(Excel操作(全て閉じる)、フォルダ存在有無チェック、Word操作(名前を付けてPDF保存))
既存のライブラリの一部を書き換えて利用しているユーザライブラリとなります。
参考まで。
Excel操作(全て閉じる)
これもライブラリにあるのですが、いまいち使い勝手が悪いので、
修正して使用しているものです。
18_Excel関連 → 01_ファイル操作 → Excel操作(全て閉じる)
上記のものではExcelが閉じないことが何度もあったため、強制的に終了するように
「/f」を追加。
<元スクリプト>
------------------------------------------------------------
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("taskkill.exe /IM excel.exe")
Set objShell = Nothing
Set objExec = Nothing
------------------------------------------------------------
↓
<サンプルスクリプト>
------------------------------------------------------------
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("taskkill.exe /f /IM excel.exe")
Set objShell = Nothing
Set objExec = Nothing
------------------------------------------------------------
強制終了なので、以下のようなデータを保存するノードを事前に実行しておきます。
18_Excel関連 → 01_ファイル操作 → Excel操作(上書き保存して閉じる)
フォルダ存在有無チェック
ファイルの存在有無チェックはあるのですが、フォルダの存在有無チェックがないので
作成したものです。
<元スクリプト>
------------------------------------------------------------
Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim strFile ' ファイル名
Dim result ' 表示用メッセージ
strFile = !ファイルパス!
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
If objFSO.FileExists(strFile) = True Then
result = true
Else
result = false
End If
Else
Err.Raise 1, "", "エラーが発生しました。"
WScript.Quit
End If
SetUMSVariable $チェック結果$,result
Set objFSO = Nothing
------------------------------------------------------------
↓
<サンプルスクリプト>
------------------------------------------------------------
Option Explicit
On Error Resume Next
Dim objFSO
Dim strFolder
Dim result
strFolder = !フォルダパス!
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
If objFSO.FolderExists(strFolder) = True Then
result = true
Else
result = false
End If
Else
Err.Raise 1, "", "エラーが発生しました。"
WScript.Quit
End If
SetUMSVariable $チェック結果$,result
Set objFSO = Nothing
------------------------------------------------------------
Word操作(名前を付けてPDF保存)
WordファイルをPDF化することがあったので作成したものです。
<元スクリプト>
------------------------------------------------------------
savename = !保存ファイル名!
Set objWord = Nothing
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If objWord is Nothing then
Set objWord = CreateObject("Word.Application")
end if
If objWord is Nothing then
Err.Raise 1, "", "指定されたWordファイルが開けません。"
end if
On Error Goto 0
objWord.Visible = True
Set objDoc = objWord.ActiveDocument
objDoc.SaveAs savename
------------------------------------------------------------
↓
<サンプルスクリプト>
------------------------------------------------------------
savename = !保存ファイル名!
Set objWord = Nothing
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If objWord is Nothing then
Set objWord = CreateObject("Word.Application")
end if
If objWord is Nothing then
Err.Raise 1, "", "指定されたWordファイルが開けません。"
end if
On Error Goto 0
objWord.Visible = True
Set objDoc = objWord.ActiveDocument
objDoc.ExportAsFixedFormat savename,17,False
------------------------------------------------------------