Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, возможно ли с помощью кода VBA запускаемого в Excel записать значение в пользовательское свойство не excel-евской книги (в принципе любого файла)? Есть пользовательское свойство «Обозначение», «ФИО» в файле шаблона чертежа AutoCAD (допустим путь к этому файлу D:\Шаблон.dwt). Их и хочу изменить в dwt файле. То есть, макрос должен присвоить значение свойству «Обозначение», например, АБВГ, а свойству «ФИО» присвоить значение, например, «Иванов».
Прочитал про свойство CustomDocumentProperties, но не понял как это сделать для другого файла (D:\Шаблон.dwt). Или для AutoCAD файлов эта функция не применима? Буду благодарен если поможете кодом.
Пример вкладки «Прочие» из свойств файла:
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, возможно ли с помощью кода VBA запускаемого в Excel записать значение в пользовательское свойство не excel-евской книги (в принципе любого файла)? Есть пользовательское свойство «Обозначение», «ФИО» в файле шаблона чертежа AutoCAD (допустим путь к этому файлу D:\Шаблон.dwt). Их и хочу изменить в dwt файле. То есть, макрос должен присвоить значение свойству «Обозначение», например, АБВГ, а свойству «ФИО» присвоить значение, например, «Иванов».
Прочитал про свойство CustomDocumentProperties, но не понял как это сделать для другого файла (D:\Шаблон.dwt). Или для AutoCAD файлов эта функция не применима? Буду благодарен если поможете кодом.
Пример вкладки «Прочие» из свойств файла: Proff_BMS
Sub ChangeProps() Dim note$: note = "АБВГ" Dim FIO$: FIO = "Иванов" With CreateObject("DSOFile.OleDocumentProperties") .Open "D:\Шаблон.dwt", , 2 With .CustomProperties On Error Resume Next .Add "ФИО", FIO .Add "Обозначение", note Err.Clear: On Error GoTo 0 .Item("ФИО") = FIO .Item("Обозначение") = note End With .Save: .Close End With End Sub
[/vba] для работы нужно скачать и установить DSOfile
Здравствуйте Как-то так можно [vba]
Код
Sub ChangeProps() Dim note$: note = "АБВГ" Dim FIO$: FIO = "Иванов" With CreateObject("DSOFile.OleDocumentProperties") .Open "D:\Шаблон.dwt", , 2 With .CustomProperties On Error Resume Next .Add "ФИО", FIO .Add "Обозначение", note Err.Clear: On Error GoTo 0 .Item("ФИО") = FIO .Item("Обозначение") = note End With .Save: .Close End With End Sub
krosav4ig, спасибо за ответ! К сожалению после установки DSOfile и запуска кода, кроме изменения даты изменения файлы ничего не происходит. Есть ли смысл ковырять Tools → References. Там что-то есть для Autodesk AutoCAD, но для чего это окно служит?
krosav4ig, спасибо за ответ! К сожалению после установки DSOfile и запуска кода, кроме изменения даты изменения файлы ничего не происходит. Есть ли смысл ковырять Tools → References. Там что-то есть для Autodesk AutoCAD, но для чего это окно служит?Proff_BMS