将VB脚本插入导出的xls

时间:2018-10-16 21:19:34

标签: excel delphi createoleobject

我的应用程序导出带有一些数据的.xls。

我如何设法将一些VB脚本放入从Delphi导出的xls中。

说明:

我正在使用CreateOleObject('Excel.Application')来创建它。

.xls将由用户更改,然后再次导入到应用程序中。

我希望用户更改的任何行都被标记为这样。

我可以使用下面的脚本在Excel中实现该功能,但无法在创建文档时插入该脚本。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row > 1 Then Cells(Target.Row, "I") = Now()
End Sub

欢迎以其他方式解决该问题的建议。

1 个答案:

答案 0 :(得分:0)

我可以用下面的代码解决这个问题:

ExcApp := CreateOleObject('Excel.Application');
ExcApp.Visible := False;
ExcApp.WorkBooks.Add;
xVBComponente := ExcApp.WorkBooks[1].VBProject.VBComponents.Item('Planilha1');
xVBComponente.CodeModule.AddFromString(xMacro);
ExcApp.WorkBooks[1].SaveAs(pFileName, 52);

“ ... SaveAs ..”中的52是常量“ xlOpenXMLWorkbookMacroEnabled”。

除了代码,我还需要它来更改一些excel配置。链接以获取详细信息: Excel Config