1

フォルダーに 2 つの ".xls" ファイルがあり、それをタブ区切りの値に変換する必要があります。このための vb スクリプトが見つかりました。これを行う方法を提案してください。これを実行するといくつかのエラーが発生します。私は vb プログラマーではありません。専門家の皆様、助けてください

Public Sub Main()
    Dim WScript As Object = Nothing   '' with out nothing it was showing an error
    Dim oExcel As Object
    Dim oBook As Object

   If WScript.Arguments.Count < 2 Then
      WScript.Echo("Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv")
      Wscript.Quit()
   End If
   oExcel = CreateObject("Excel.Application")
   oBook = oExcel.Workbooks.Open(WScript.Arguments.Item(0))  ''item o might be excel
   oBook = oExcel.Workbooks.Open("C:\Users\5A5.xls")
   oBook.SaveAs(WScript.Arguments.Item(1), -4158)

   oBook.Close(False)
   oExcel.Quit()
   WScript.Echo("Done")

End Sub

例外:

System.Reflection.TargetInvocationException:    
   Exception has been thrown by the target of an invocation. 
     ---> System.NullReferenceException: Object variable or With block variable not set.
4

1 に答える 1

2

あなたの問題は、使用しようとしていますWScriptが、初期化されていないことです (Nothing に設定されています)。

それなしで試してください:

   Dim oExcel As Object
   Dim oBook As Object

   oExcel = CreateObject("Excel.Application")
   oBook = oExcel.Workbooks.Open("C:\Users\5A5.xls")
   oBook.SaveAs("C:\Users\5A5.txt", -4158)

   oBook.Close(False)
   oExcel.Quit()
于 2013-08-01T12:59:21.677 に答える