在PB8中将数据从excel保存到文本文件

时间:2015-01-23 12:09:13

标签: excel powerbuilder ole-automation

我使用下面的代码将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

2 个答案:

答案 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

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