![]() |
свойства *.dwg файла в документ Word
Здравствуйте, помогите пожалуйста с решением следующей задачи: в папке есть Паспорт.doc и Название_файла.dwg (единственный *.dwg в директории) , в паспорте нужно отобразить тремя полями: дату и время последнего изменения (до секунд), полный объем в байтах (размер, а не на "диске") и название файла *.dwg. Нашел макрос но только для экселя
К сожалению связка word-exсel не подходит. |
Sta1917, выложите образец файла «Паспорт.doc», в котором будет указано, куда конкретно нужно поместить:
Цитата:
|
В момент открытия, т.е. в word должны быть последние данные об изменениях.
|
Sta1917, не хотите выкладывать — дело Ваше.
Вот Вам код: Добавляйте его в модуль «ThisDocument» Вашего документа «Паспорт.doc» и правьте по собственному усмотрению. |
Спасибо, за внимание к вопросу. Не думал что там все так сложно. Завтра с работы принесу - выложу.
|
Sta1917, опробовать можете и сейчас, создав рядом с документом, в который Вы поместите код, любой файл с расширением «.dwg».
|
Работает как надо, только:
1. можно чтобы данные оставались, если в папке нет dwg, или преобразовать макрос в текст; 2. убрать расширение файла (см. вложение)? |
Sta1917, появился ряд вопросов:
1. Вы создаёте этот документ сами? 2. Если 1 — «да», то: этот документ основан на каком-то шаблоне или Вы просто создаёте новые копированием старого документа в новый? 3. Если 1 — «да», то: какова дальнейшая судьба документа: только распечатать или он как-то участвует в электронном документообороте и в дальнейшем? 4. Стоит ли сделать заполнение строк таблицы №2 данными по всем найденным файлам *.dwg в том же каталоге документа, а не только данными первого найденного файла *.dwg? Судя по заголовку таблицы №2, мы делаем заполнение следующих столбцов:
5. «Полное название формата» — скажите, какой текст у Вас отображается в Проводнике в режиме \Вид\Таблица в столбце «Тип» для файлов *.dwg? 6. «Директория» — что здесь должно быть? Имя родительской папки, в которой находится документ (без полного пути)? 7. Отчего в примере в «Размер (в байтах)» между разрядами мегабайт и килобайт использован неразрывный пробел, а между разрядами килобайт и байт — обычный пробел? Цитата:
|
1-3. Документ получается копированием старого, с последующей печатью и передачей заказчику (Папки с паспортом и *.dwg). В СЭД не участвует.
4. Стоит, оказывается мне всегда попадались частные случаи с одним файлом. В основном нужно как в прикрепленном файле, с вложенными папками. 5. Тип элементов "файл DWG", вы правы, не очень корректная формулировка, но пусть будет такой. 6. Да. 7. Это не принципиально, видимо чтобы не мегабайты не сползали. Цитата:
|
Вложений: 1
Цитата:
2. Есть ли возможность перейти на использование шаблона? Цитата:
Цитата:
Попробуйте такой шаблон: Файл 87881 (поместите его в «%AppData%\Microsoft\Шаблоны» или где у Вас хранятся личные шаблоны). После создания документа на его основе появится панель инструментов с единственной кнопкой. |
1. Не важна, документ уходит на хранение, т.е. перед конечной сдачей удаляю все макросы, оставляя чистый *.doc
2. Да, раньше не пользовался шаблонами, благодаря Вам попробовал, это удобно. Спасибо. Цитата:
Цитата:
|
Цитата:
Сначала ищем *.dwg-файлы в текущем каталоге (кстати, что в этом случае помещать в колонку «Директория»?). Если таковые найдены — заполняем таблицу и останавливаемся. Если в текущем каталоге таковые файлы отсутствуют — ищем в подкаталогах первого уровня. Так устроит? Можно в обратном порядке. Цитата:
|
Цитата:
Устроит, есть 1 из 2 случаев: либо в родительской папке, либо в подпапках 1-го уровня. Если *.dwg найден в текущем каталоге, в "Директория" писать название каталога. Порядок неважен. |
Вложений: 1
Sta1917, пробуйте: Файл 87930. Сначала ищем в каталоге документа, затем — во вложенных первого уровня.
|
Все работает. Буду тестировать на практике. Огромное спасибо.
|
Цитата:
|
Хорошо, но это дело не быстрое, не каждый день выпуск объектов=)
|
Ничего страшного. Конференция помирать не собирается, а я подпишусь на эту тему.
|
Спасибо, там еще одна подобная задачка от меня появилась. В общем, это документы для сдачи в геослужбу. Когда разберусь с полной структурой отчета сделаю автоматическое заполнение верхних таблиц. После полного теста выложу на геодезическом форуме.
|
Iska, подскажите, как добавить вывод автора последних изменений ?
.Item(7).Range.Text = CStr(objFile.DateLastModified) что тут должно быть ?:) |
Цитата:
Если а) данное свойство поддерживается документом и б) если Проводник имеет доступ к этому свойству, то можно попробовать. Вот пример получения значения свойства: |
Iska, благодарю за ответ.
отчего то думал что авторство последних изменений сохраняется *pardon* |
firstarey, всё возможно — я этого попросту не знаю, поскольку у меня нет ни развёрнутого AutoCad'а, ни его «тёзок» (если речь по прежнему о документах формата dwg; если найдёте. что-таки есть — дайте знать, попробую почитать документацию на предмет доступа посредством Automation). Потому я привёл пример из доступных мне.
|
|
Sta1917, понятно.
Теоретически, сделать можно. Но желания заниматься подсчётом смещений нет ни малейшего. У Вас вообще что? Какой продукт установлен? |
Думаю лучше воспользоваться готовым решением экспорта в эксель с dwg.ru
|
Воспользуйтесь.
|
Изначально полагалось что это расположено в свойствах файла, как например дата последнего изменения документа и, соответственно, возможно доработать предложенный в этой теме скрипт.
На данный момент остановился на том, что изменил предложенный Iska шаблон под свои нужды (полный путь до файла, имя, дата последнего изменения, последнего доступа, размер. не хватает лишь автора последнего изменения). Раз уж все не так просто, то на том и остановимся, спасибо откликнувшимся. |
Цитата:
|
Время: 07:43. |
Время: 07:43.
© OSzone.net 2001-