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