HotXLS Docs

VBADefined 方法

如果工作簿包含 VBA 代码,则返回 true

语法

function VBADefined:boolean;

说明

当应用程序必须保留包含宏的文件时,在覆盖现有工作簿之前使用 VBADefined。该方法是一个只读检查;它不会创建、删除或编辑 VBA 模块
在经典 XLS 外观中,结果为 True 表示工作簿具有 VBA 项目流。请使用可保留 VBA 内容的 Excel 格式保存文件,如果需要保留宏,请避免将其导出为文本、HTML 或 RTF

示例

此示例打开一个现有工作簿,并在保存之前检查它是否包含 VBA 代码

var
  Workbook: IXLSWorkbook;
begin
  Workbook := TXLSWorkbook.Create;
  try
    Workbook.Open('C:\Reports\Template.xls');

    if Workbook.VBADefined then
      ShowMessage('This workbook contains VBA code.');

    Workbook.SaveAs('C:\Reports\TemplateCopy.xls');
  finally
    Workbook := nil;
  end;
end;

另请参阅