0

我正在使用以下代码将 excel 文件中的数据传输到 Powerbuilder 8 中的制表符分隔的文本文件。但它只传输工作表 1 中的数据。我希望传输 excel 文件中所有工作表中的数据到单个合并的文本文件中。有人可以帮忙吗?

代码 -

 integer iresult

 OLEObject MyOleObject
 MyOleObject = CREATE OLEObject
 iResult = MyOleObject.ConnectToObject("D:\AP52_All.xlsx");
  messagebox("result",iresult)
 IF iResult = 0 THEN

       MyOleObject.Application.Workbooks(1).SaveAs("D:\AP52_Rates_1.txt",21) 


 End if
4

2 回答 2

0

您可以循环浏览工作簿中的工作表,执行类似于此 VBA 代码的操作:

//refer total number of worksheets in the specified workbook using the Worksheets.Count property: For i = 1 To MyOleObject.Application.Worksheets.Count MsgBox MyOleObject.Application.Worksheets(i).Name Next i

于 2015-01-26T12:17:15.357 回答
0

遵循马特的建议,而不是这条线

MyOleObject.Application.Workbooks(1).SaveAs("D:\AP52_Rates_1.txt",21) 

您可以使用:

book = MyOleObject.Application.Workbooks(1)
For i = 1 To MyOleObject.Application.Worksheets.Count
    book.Worksheet(i).SaveAs("D:\AP52_Rates_"& i & ".txt",21)
Next

稍后,合并所有文本文件。

于 2015-01-27T15:17:06.293 回答