С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/54: Рейтинг темы: голосов - 54, средняя оценка - 4.57
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
1

Изменение свойств документа Word или как еще задать желаемое название при сохранении

16.11.2012, 10:48. Показов 10405. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Задача такая:
Формирую документ word программно из access (на основе шаблона) так:
Visual Basic
1
2
3
4
Set App = New Word.Application
App.Documents.Add CurrentProject.Path & "\Template\" & "TempName.dot"
With App.ActiveDocument
...
При нажатии "Сохранить" в полученном документе в качестве названия по умолчанию подставляется то, что написано в свойствах документа в поле "Название", а хотелось бы задать свое. Задаю программно это свойство:
Visual Basic
1
2
3
4
5
Dim bp As Word.WdBuiltInProperty
bp = wdPropertyTitle
MsgBox "Прежнее значение: " & .BuiltinDocumentProperties(bp)
.BuiltinDocumentProperties(bp) = "123456789"
MsgBox "Новое значение: " & .BuiltinDocumentProperties(bp)
Название меняется, но при нажатии "Сохранить" опять показано старое значение, а изменяется оно на новое только если открыть свойство документа из меню "Файл" и там нажать ОК.

Я так понимаю, ворду нужна команда для перезагрузки значений свойств. Есть такая?
Или какие еще могут быть варианты для задания своего названия при открытии диалога сохранения?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 10:48
Ответы с готовыми решениями:

Можно ли таблице задать уникальный ID, или что-то в этом роде, который не будет потерян при сохранении документа?
Например, в javascript можно любому тегу установить ID. В VBA тоже можно, но он действителен до...

При сохранении документа появляется еще один непонятный файл
у меня при сохранение файла в ворде помима етого выходит еще какаето хрень типа файл расширения...

Зависает Word 2007 - 2010 (Windows 8) при сохранении редактированного документа
Доброго времени суток. Помогите с решением вот такой проблемы. На работе приобрели моноблок с...

Как отключить область свойств документа в Word, Excel 2010?
При каждом открытии документа в Word, Excel 2010 выпадает окно области свойств документа. Всякий...

12
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 12:44 2
Romas654, в ходе выполнения вашего кода создаётся новый документ Word и появляется диалоговое окно "Сохранение документа" для сохранения созданного документа Word.
Что вы делаете в этом диалоговом окне?
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 12:55  [ТС] 3
документ создается на основе шаблона, в нем заполняются закладки, таблицы и т.п. больше ничего не появляется, пользователь дальше самостоятельно при необходимости вносит исправления и сохраняет документ куда ему нужно. А еще пользователь вводит название документа. Вот это я и хочу автоматизировать. Чтобы вместо единого названия взятого из свойств шаблона в диалоге в качестве названия по умолчанию уже подставлялось уникальное значение (фио, номер документа и т.д.) А это название берется из свойств документа... я раньше в первом сообщении это расписал. Или какой момент непонятен?
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 12:59 4
Цитата Сообщение от Romas654 Посмотреть сообщение
А еще пользователь вводит название документа.
напишите подробно куда пользователь вводит - какие кнопки нажимает.
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 13:05  [ТС] 5
Стандартный вордовский диалог сохранения.
Вместо "Кредитный договор" нужно сделать более подробное название
Миниатюры
Изменение свойств документа Word или как еще задать желаемое название при сохранении  
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 13:47 6
Romas654, чтобы свойство Название появилось в диалоговом окне Сохранение документа в поле Имя файла, нужно 2 раза вызвать диалоговое окно Сохранение документа.
Это не решение вашей проблемы, а просто наблюдение.
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 14:04  [ТС] 7
Нет, у меня это сейчас не получилось. Новое название появляется только когда открываешь свойства файла и там нажимаешь ок (см. на картинку). Причем новое название в диалоге свойств уже есть, но ворд его понимает только после нажатия кнопки ок.
Как "заставить" ворд заново считать свойства документа вы мне значит не подскажете...
А может программно открыть окно свойств и там программно "нажать" ок? такое возможно?
Миниатюры
Изменение свойств документа Word или как еще задать желаемое название при сохранении  
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 14:55 8
Пункт 1

Дополнение (не связано с решением проблемы автора темы) к сообщению #6. Такое поведение было обнаружено в Word 2010.


Пункт 2

Romas654, программно можно открыть вот это окно:
Visual Basic
1
2
3
4
5
Sub Procedure_1()
    
    Application.Dialogs(86).Show
 
End Sub
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 18:17  [ТС] 9
1. Да, действительно, в 2010 есть такое.
2. Даже если программно открыть диалоговое окно: App.Dialogs(wdDialogFileSaveAs).Show, то нажать там ок или esc не получится, т.к. выполнение кода приостанавливается... тупиковая идея.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 18:33 10
Цитата Сообщение от Romas654 Посмотреть сообщение
Даже если программно открыть диалоговое окно:
Для вашей задачи подходит программный вызов диалогового окна "Сохранение документа"?
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 18:41  [ТС] 11
Думал, чтобы первый раз программно вызывать это окно и программно же закрывать. Было бы хоть такое решение
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
16.11.2012, 19:36 12
Удалил сообщение.
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
16.11.2012, 19:40  [ТС] 13
В общем, подошел к вопросу с другой стороны. Решил... немного через одно место, но работает:
Свойство устанавливается как и было написано, а потом, вместо того чтобы сразу выводиться на экран, документ сохраняется во временную папку и из него создается новый документ, который и отображается для пользователя. В этом новом документе уже стоит нужное название.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
If Set_NameDoc = True Then ' если разрешено предустановленное название
App.ActiveDocument.SaveAs Environ("temp") & "\TempD.doc"
App.Quit False
 
Set App = New Word.Application
App.Documents.Add Environ("temp") & "\TempD.doc"
End If
 
App.Visible = True
AppActivate (App.Caption)
Set App = Nothing
0
16.11.2012, 19:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 19:40
Помогаю со студенческими работами здесь

Как можно выбирать название файлу при сохранении?
кто может подсказать , как можно выбирать название файлу при сохранении? то есть при нажатии на...

Получение свойств документа Word
Проблема в следующем: нужно написать программу для просмотра и редактирования встроенных свойств...

Как можно задать checked или что то еще другим значениям на сайте ? А то при использовании checked для дргого
Как можно задать checked или что то еще другим значениям на сайте ? А то при использовании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru