【问题标题】:Saving data from excel to text file in PB8将数据从excel保存到PB8中的文本文件
【发布时间】:2015-01-23 12:09:13
【问题描述】:

我正在使用以下代码将 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

【问题讨论】:

    标签: excel powerbuilder ole-automation


    【解决方案1】:

    您可以循环浏览工作簿中的工作表,执行类似于此 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

    【讨论】:

      【解决方案2】:

      按照马特的建议,而不是这条线

      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
      

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

      【讨论】:

      • 感谢您的建议
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多