Documentação do HotXLS

Método VBADefined

Retorna true se a Pasta de Trabalho contiver código VBA

Sintaxe

function VBADefined:boolean;

Descrição

Use VBADefined antes de sobrescrever uma pasta de trabalho existente quando seu aplicativo precisar preservar arquivos que contenham macros. O método é uma verificação somente leitura; ele não cria, remove nem edita conteúdo VBA
Na fachada XLS clássica, um resultado True significa que a pasta de trabalho tem um fluxo de projeto VBA. Salve o arquivo com um formato Excel que possa manter o conteúdo VBA e evite exportá-lo para texto, HTML ou RTF se as macros forem importantes

Exemplo

Este exemplo abre uma pasta de trabalho existente e verifica se ela contém código VBA antes de salvá-la

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;

Veja também