【问题标题】:Copying Excel active sheet to the end of the workbook with Progress 4GL使用 Progress 4GL 将 Excel 活动表复制到工作簿的末尾
【发布时间】:2020-06-29 10:49:41
【问题描述】:

我正在尝试使用 Progress 4GL 将 Excel 活动工作表复制到工作簿的末尾。这是我迄今为止尝试过的。

DEFINE VARIABLE chExcelApplication   AS COM-HANDLE.    /* com-handle for the application */
DEFINE VARIABLE chWorkbook           AS COM-HANDLE.    /* com-handle for the workbook */
DEFINE VARIABLE iSheetCount          AS INTEGER.       /* variable to track the current sheet count */

CREATE "Excel.Application" chExcelApplication.
chWorkbook = chExcelApplication:Workbooks:Open("C:\tmp\test.xlsx").

iSheetCount = chWorkbook:sheets:COUNT.

chWorkbook:Sheets(1):COPY:after = chWorkbook:Sheets(iSheetCount). 

这是相关的 VBA 代码:

Sheets(1).Copy After:=Sheets(Sheets.Count)

iSheetCount 的快速返回本身已经提供了正确数量的工作表。如何将 VBA 上的 Copy After 转换为 Progress 4GL?

【问题讨论】:

    标签: excel vba progress-4gl


    【解决方案1】:

    这是一个纯粹的猜测,我不使用 Progress 4GL,但可能会考虑 Worksheet.Copy 的其他 VBA 格式/语法,它没有命名参数,但从它在命令中的位置暗示它:sheet.copy <before>,<after>

    Sheets(1).Copy , Sheets(Sheets.Count)     'VBA
    

    直接翻译(纯粹基于您的问题代码,而不是基于我的任何实际知识 - 我必须强调!)因此可能是:

    chWorkbook:Sheets(1):COPY ,chWorkbook:Sheets(iSheetCount).
    

    失败了..也许是这样的:

    chWorkbook:Sheets(1):COPY(,chWorkbook:Sheets(iSheetCount)).
    

    更新:

    OP 确认以下工作:

    chWorkbook:Sheets(1):COPY(,chWorkbook:Sheets(iSheetCount)).
    

    【讨论】:

    • 感谢您的回复。不过老实说,我试过盲拍的方式,在Copy之后重新排列参数的位置,但是没有一个落地。 After 本身不是 Excel 常量。 chWorkbook:Sheets(1):COPY:after(chWorkbook:Sheets(iSheetCount)). chWorkbook:Sheets(1):COPY():after = chWorkbook:Sheets(iSheetCount). chWorkbook:Sheets(1):COPY(, after(chWorkbook:Sheets(iSheetCount))). chWorkbook:Sheets(1):COPY(after(chWorkbook:Sheets(iSheetCount))). 举几个我试过的变种。
    • 不,我绝对不会包含After。对不起,我帮不上什么忙。祝你好运。
    • 好吧,这是我的新手错误。原来你的第二个建议有效:chWorkbook:Sheets(1):COPY(,chWorkbook:Sheets(iSheetCount)).我只是忘记保存工作簿以使更改永久化。
    • 好消息。为任何未来的读者澄清答案。
    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多