VBS の コマンドライン引数 Arguments を使用して
ドラッグAndドロップ されたファイル名を取得して、
Excelへ単純に書き込んだだけです。
www.youtube.com
https://www.youtube.com/watch?v=fH0F3vC3qpU
↑いつもの、あのあの、解説動画・・・
00:00 挨拶
00:29 1.コードの簡単な説明とテスト実演
02:03 2.ファイル名をExcelにセットしてみた
03:29 3.デスクトップなどに設置方法の実演
05:22 4.おわりの挨拶
1.コードの簡単な説明とテスト実演
ポイントは、
Arguments.Count
Arguments(n)
で簡単にドラッグAndドロップされたファイル名が取得可能
これを利用してファイル名をExcelへ
まずはvbsでファイル名受け取りの単体確認
'Arguments.Count と Arguments(n) で引数受け取りのテスト 'ここから Dim nMAX, n nMAX = Wscript.Arguments.Count If nMAX = 0 Then '引数無しの時 WScript.Echo "引数を受け取れません" & vbCrLf & "終了しますね" WScript.Quit '途中終了 End If For n = 0 to nMAX - 1 '配列は0からなので-1までループ WScript.Echo "(" & n & ")番目:" & Wscript.Arguments(n) Next '↑ここまでをテキストファイル XXXX.vbsで保存してテストしてみてください。
2.ファイル名をExcelにセットしてみた
ドラッグされたファイルのファイル名をExcelに書き出してみます
'ファイル名をExcelへ 'ここから Dim nMAX, n nMAX = Wscript.Arguments.Count If nMAX = 0 Then '引数無しの時 WScript.Echo "引数を受け取れません" & vbCrLf & "終了しますね" WScript.Quit '途中終了 End If Dim excelApp Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True excelApp.Workbooks.Add '新しくブックを追加 'A1セル~単純にファイル名を代入する For n = 0 to nMAX - 1 '引数配列は0からなので-1までループ excelApp.Cells(n + 1, 1) = Wscript.Arguments(n) 'A列にファイル名をセットする Next MsgBox "処理終了 Excel を確認してください" 'ここまでをテキストファイル XXXX.vbsで保存してテストしてみてください。
3.デスクトップなどに置き 使ってみてね 設置方法の実演
デスクトップなどへの設置方法
XXX.vbsアイコンが大きいと、投げやすいので、
デスクトップに設置してみます。
3.1 メモ帳を新規起動してコードを貼り付けます
3.2ファイル名を付け保存 文字コードをANSI コードにしてくだい
デスクトップに
ドロップファイルをExcelへ.vbs
など、それらしい わかりやすい名前を付けて保存します
この時、文字コードをANSI にしてください。
3.3 設置後テスト確認
同じ手口で(同じvbsの受け取りで)、複数画像ファイルをWordで処理してみます
Wordに複数画像ファイルを貼り付けた例:
ソースコードは下記です。
'---- XXXX.vbs で 保存して使ってください Dim nMAX, n nMAX = Wscript.Arguments.Count If nMAX = 0 Then '引数無しの時 WScript.Echo "引数を受け取れません" & vbCrLf & "終了しますね" WScript.Quit '途中終了 End If Dim wdApp Set wdApp = CreateObject("Word.Application") wdApp.Visible = True wdApp.Documents.Add 'Word文章の追加 For n = 0 to nMAX - 1 '配列は0からなので-1までループ '文字 図.1 図.2 など文字を頭に入れる wdApp.Selection.TypeText "図." & (n+1) wdApp.Selection.TypeParagraph '画像ファイルを挿入 wdApp.Selection.InlineShapes.AddPicture Wscript.Arguments(n), False wdApp.Selection.TypeParagraph '画像挿入後、ファイル名をテストで入れてみた wdApp.Selection.TypeText "↑FileName " & Wscript.Arguments(n) wdApp.Selection.TypeParagraph wdApp.Selection.InsertNewPage '新しいページを挿入 Next MsgBox "処理終了 WORD を確認してください" 'ここまで
解説と実行結果は、
www.youtube.com
https://www.youtube.com/watch?v=W9X8hLrSygc
↑を見てください。
vbs
Wscript.Arguments.Count
Wscript.Arguments(n)
で、処理ファイルの一覧をドラッグAndドロップで取得できるので、
何かの処理で使ってみてください。