HotXLS-Dokumentation

VBADefined-Methode

Gibt True zurück, wenn die Arbeitsmappe VBA-Code enthält

Syntax

function VBADefined:boolean;

Beschreibung

Verwenden Sie VBADefined, bevor Sie eine vorhandene Arbeitsmappe überschreiben, wenn Ihre Anwendung Dateien erhalten muss, die Makros enthalten. Die Methode ist eine schreibgeschützte Prüfung; sie erstellt, ändert oder entfernt keinen VBA-Inhalt
In der klassischen XLS-Fassade bedeutet ein True-Ergebnis, dass die Arbeitsmappe einen VBA-Projektstream hat. Speichern Sie die Datei mit einem Excel-Format, das VBA-Inhalt behalten kann, und vermeiden Sie den Export in Text-, CSV- oder XLSX-Formate, wenn Makros vorhanden sind

Beispiel

Dieses Beispiel öffnet eine vorhandene Arbeitsmappe und prüft, ob sie VBA-Code enthält, bevor sie gespeichert wird

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;

Siehe auch