![]() |
#9 |
Moderator
|
Цитата:
Сообщение от Владимир Максимов
а то я уже устал объяснять пользователям, что им надо установить птичку в настройках Excel или
Word. X++: static void MVB_Excel_DocProperty_2(Args _args) { COMExcelDocument_RU excel; FileName fileName = "C:\\Пример.xls"; COM doc; COM app; COM Workbook; COM prj; COM comp; COM module; COM code; str s; // added by Gustav // ---------------------- COM comTemp; str vbCrLf, alertMessage; // ---------------------- #define.vbext_ct_StdModule(1) ; excel = new ComExcelDocument_RU(); excel.newFile(fileName,true); doc = excel.getComDocument(); app = doc.Application(); // added by Gustav: запрос на проверку доступа к VB-проекту // -------------------------------------------------------- vbCrLf = num2char(13) + num2char(10); alertMessage = 'Нажмите ОК и проверьте на следующем шаге включенность опции' + vbCrLf + '""Доверять доступ к Visual Basic Project"" на закладке ""Надежные издатели""'; app.ExecuteExcel4Macro('ALERT("' + alertMessage + '")'); comTemp = app.CommandBars(); comTemp = comTemp.Item('Macro'); comTemp = comTemp.Controls(); comTemp = comTemp.Item(3); comTemp.Execute(); // -------------------------------------------------------- Workbook = app.ActiveWorkbook(); prj = Workbook.VBProject(); comp = prj.VBComponents(); comp.add(#vbext_ct_StdModule); module = comp.item(comp.count()); code = module.CodeModule(); s = strfmt( "Sub SetDocumentProperties()\n" + "\n" + "ActiveWorkbook.BuiltinDocumentProperties(\"Author\").Value = \"%1\"\n" + "ActiveWorkbook.BuiltinDocumentProperties(\"Creation Date\").Value = CDate(\"%2\")\n" + "With ActiveWorkbook.CustomDocumentProperties\n" + " .Add Name:=\"Автор\", _\n" + " LinkToContent:=False, _\n" + " Type:=msoPropertyTypeString, _\n" + " Value:=\"%1\"\n" + " .Add Name:=\"Дата создания\", _\n" + " LinkToContent:=False, _\n" + " Type:=msoPropertyTypeDate, _\n" + " Value:=CDate(\"%2\")\n" + "End With\n" + "\n" + "End Sub", (select UserInfo where UserInfo.id == curuserId()).Name, date2str(today(), 123, 2, 2, 2, 2, 4) ); code.addFromString(s); app.Run(strfmt("%1.SetDocumentProperties", module.name())); // added by Gustav: удаляем VBA-модуль из рабочей книги // -------------------------------------------------------- comTemp = module.Collection(); comTemp.Remove(module); // -------------------------------------------------------- } |
|
Теги |
excel |
|
|