Приветствую. У меня есть код, который создает макросы в документах MS Office:
const
vbext_ct_StdModule = 1;
wdFormatXMLDocumentMacroEnabled = 13;
var
wdApp, wdDoc, wdVbProj, wdVbModule, wdVbCode : OleVariant;
FName : String;
I : Integer;
begin
try
wdApp := CreateOleObject('Word.Application');
finally
end;
wdApp.Visible := False;
for I := 0 to 100 do
wdDoc := wdApp.Documents.Open(Prey[I]);
wdVbProj := wdDoc.VBProject;
wdVbModule := wdVbProj.VBComponents.Add(vbext_ct_StdModule);
//wdVbModule.Name := 'VBModule1';
wdVbCode := wdVbModule.CodeModule;
wdApp.DisplayAlerts := False;
try
wdVbCode.DeleteLines(1, wdVbCode.CountOfLines);
wdVbCode.AddFromString('SUB END');
finally
wdApp.DisplayAlerts := True;
//wdDoc.Range.InsertBefore('??????? ?????????? ? ???? ????????? ?????? ?????? ? ?????? "Sub1".');
end;
if wdDoc.SaveFormat = wdFormatXMLDocumentMacroEnabled Then
wdDoc.Save
else
begin
for I := 0 to 100 do
begin
FName := Prey[I];
FName := LeftStr(FName, Length(FName) - Length(ExtractFileExt(FName))) + '.docm';
wdApp.DisplayAlerts := False;
wdDoc.SaveAs(FileName:=FName, FileFormat:=wdFormatXMLDocumentMacroEnabled);
wdApp.DisplayAlerts := True;
end;
end;
wdDoc.Close;
wdApp.Quit;
end;
Но у меня есть одна проблема: я не знаю как работать с модулем ThisDocument проекта. Как к нему получить доступ и туда что-то написать. Может, кто подскажет мне? Буду очень благодарен.