我使用下面的代码将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
答案 0 :(得分: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
答案 1 :(得分: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
以后,合并所有文本文件。