前提・実現したいこと
バッチファイルからVBSを起動する。
VBSはエクセルからテキストファイルを作成するためのもので、
バッチファイルにエクセルファイルを引数として渡してVBSを実行したい。
発生している問題・エラーメッセージ
迺ー蠅・ィュ螳・ini繧剃ス懈・縺励∪縺吶・ '螳滓命萓晞シ譖ク縲阪r繝峨Λ繝・げ繧「繝ウ繝峨ラ繝ュ繝・・縺励※縺上□縺輔>・・' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 Microsoft (R) Windows Script Host Version 5.812 Copyright (C) Microsoft Corporation. All rights reserved. C:\Users\○○○○\Desktop\folder\test2.vbs(2, 1) Microsoft VBScript 実行時エラー: インデックスが有効範囲にありません 。 迺ー蠅・ィュ螳・ini縺ョ菴懈・縺ォ螟ア謨励@縺セ縺励◆縲・ 続行するには何かキーを押してください . . .
該当のソースコード
bat
1@echo off 2 3echo テキストファイルを作成します。 4set /p form = "excelファイルをドラッグアンドドロップ:" 5 6cscript %userprofile%\Desktop\folder\test2.vbs %form% 7 8if errorlevel 1 ( 9echo テキストファイルを作成しました。 10) else ( 11echo テキストファイルの作成に失敗しました。 12) 13 14pause
vbs
1 ' Excel指定 2file = WScript.Arguments(0) 3 4 ' Excel起動 5Set oXlsApp = CreateObject("Excel.Application") 6 7If oXlsApp Is Nothing Then 8 ' Excel起動失敗 9 MsgBox "Excel起動失敗" 10 11Else 12 ' Excel起動成功 13 14 ' --Excel表示(trueにすると表示できる) 15 oXlsApp.Application.Visible = false 16 17 ' --Excelの警告を非表示にする 18 oXlsApp.Application.DisplayAlerts = False 19 20 ' --ブックを開く 21 oXlsApp.Application.Workbooks.Open(file) 22 ・ 23 ・ 24 ・ 25
試したこと
bat
1@echo off 2cscript %userprofile%\Desktop\folder\test2.vbs %1 3pause
folderフォルダ内で、上記バッチファイルのアイコンに、エクセルファイルをドラッグ&ドロップすると無事テキストファイルが生成されます。
batを複雑にするとおかしくなるのはなぜでしょうか。
引数の渡し方が間違っていますか?
よろしくお願いいたします。
@ 質問者さん
> 文字化けは解消されました
では、どのようにやって解消しましたか?
otnさんのご回答で、でしょうか。もしそうなら彼/彼女の回答をBAにして閉じてください。
もしそれ以外での解決法で解決したのなら、『自己解決』的なやつがあるのでそこに『どのように解決したか』とかを書いてください。
今のままだと他のユーザからすると『未解決』の状態です。
@BeastStarさん
文字エンコードをANSIにして文字化け自体は解決しましたが、すみません、まだ未解決です。
回答3件
あなたの回答
tips
プレビュー