powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сохранить копию Книги Word?
17 сообщений из 17, страница 1 из 1
Как сохранить копию Книги Word?
    #39634247
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Столкнулся с неожиданной проблемой:
пишу надстройку для Office 2013 и выше, для Excel сделал, думал перенести на Word не составит труда...
Оказалось, что там всё по-другому! Сразу налетел на грабли:

у меня в экселе идёт копирование в резерв открытого документа(даже ещё не сохранённого),
таким образом:

"Globals.ThisAddIn.Application.ActiveWorkbook.SaveCopyAs(directory + fName)"

у ActiveDocument такого метода нет... :(
Подскажите - как правильно действовать?
Спасибо!
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634249
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Knyaz19,

Не уверен, что в ворде можно копировать несохраненный документ.
А так метод есть ActiveDocument.SaveAs2
https://msdn.microsoft.com/en-us/vba/word-vba/articles/document-saveas2-method-word
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634252
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве что скопировать весь документ в новый, сохранить его копию и закрыть...
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634254
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,

Я думал, что описал всё предельно ясно - должен остаться не сохранённый открытый документ со своим старым именем.
А про SaveAs2 я в курсе - у меня тоже есть документация и подстрочник, спасибо! :(
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634255
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Не совсем понял? Мне и нужно - "скопировать весь документ"! Вы о ём конкретно?
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634258
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если исходный документ нельзя трогать, значит надо создать копию содержимого документа, сохранить ее и закрыть. Правда, я не знаю, насколько эффективно это можно сделать. В старых версиях была проблема с копированием Range без использования буфера обмена... может в новых что-то изменилось.
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634260
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Не подойдёт - нужна точная копия.
А как в VB скопировать объект в памяти - по содержимому, а не по ссылке?
Я могу создать новый пустой Документ, скопировать старый объект в него в памяти и сохранить.
Пока у меня получилось скопировать по ссылке - закрываю новый - закрывается старый! То есть я не скопировал объект, а скопировал ссылку на объект!.. :(
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634271
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копировать надо содержимое документа. Например так
Код: vbnet
1.
2.
3.
4.
5.
Set newDoc = Documents.Add
ThisDocument.Range.Copy
newDoc.Range.Paste
newDoc.SaveAs...
newDoc.Close

но такой метод портит буфер обмена
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634273
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погуглил немножко
вот тут
https://stackoverflow.com/questions/461840/copy-word-document-contents-without-using-clipboard-vba
упомянули
ExportFragment
попробуйте поэкспериментировать
Код: vbnet
1.
ThisDocument.Range.ExportFragment(filename)

потом расскажете
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634506
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо! Посмотрю. Пока я нашёл интересный метод, но MS пишут, что он не всё копирует - правда те изыски мне не нужны. Попробую и так и так - отпишусь, если не забуду - запара конкретная, а этот Ворд меня крепко подставил на ровном месте!!! :D
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634518
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Knyaz19Пока я нашёл интересный метод, но MS пишут, что он не всё копируетчто за метод?
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634870
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProKnyaz19Пока я нашёл интересный метод, но MS пишут, что он не всё копируетчто за метод?

Метод Object.MemberwiseClone ()
Что скажешь?
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634885
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какое отношение он имеет к VBA?
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634969
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProА какое отношение он имеет к VBA?
А при чём тут VBA?
Кто о нём говорил?
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634971
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, но попытаться скопировать СОМ-объект средствами дотнета еще более смелое решение. Или это кто-то успешно проделывал? Дай ссылку.

Впрочем, я не понимаю, почему бы не попробовать родное средство ExportFragment для начала? На первый взгляд, это именно то, что тебе требуется - сохранить фрагмент в файл на диск (фрагмент в частном случае - всё содержимое документа)
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634978
Knyaz19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProХм, но попытаться скопировать СОМ-объект средствами дотнета еще более смелое решение. Или это кто-то успешно проделывал? Дай ссылку.

Впрочем, я не понимаю, почему бы не попробовать родное средство ExportFragment для начала? На первый взгляд, это именно то, что тебе требуется - сохранить фрагмент в файл на диск (фрагмент в частном случае - всё содержимое документа)

Ну, учитывая, то это часть надстройки Office, а именно - риббон-панель, которая есть суть СОМ-объект, ничего странного я не вижу.
А в задаче интересует не содержимое документа, а весь файл со всеми служебными потрохами - ХЭШ файла должен совпадать... :(
...
Рейтинг: 0 / 0
Как сохранить копию Книги Word?
    #39634980
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Knyaz19ХЭШ файла должен совпадатьДолжен совпадать с чем?Knyaz19открытого документа(даже ещё не сохранённого),какой хэш у несохраненного файла?


кроме того, у меня большие сомнения, что если просто открыть файл и сделать "Сохранить как", хэш у копии будет совпадать )
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сохранить копию Книги Word?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]