|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
На компьютере установлено 2 версии OFFICE 2007 и 2016 и соответственно 2 WORDa.(В РАЗНЫХ ПАПКАХ НА ДИСКЕ С) При выводе переменных в файл WORD: d1.docx - автоматически запускается установка и настройка WORD 2007 вместо того чтобы вывести в WORD 2016. (сопоставление типа файла .docx в WORD 2016 не помогает) Программа работает правильно я уверен: пробовал запустить на компьютере где установлен ТОЛЬКО один WORD 2007 - работает. пробовал запустить на компьютере где установлен ТОЛЬКО один WORD 2016 - работает. Как принудительно вызвать WORD 2016 на компьютере с двумя версиями OFFICE ? вот текст программы: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 15:58 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Это лучше спросить в форуме по Microsoft Office ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 16:14 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Для старых версий, сказал бы, что никак Идентификация в реестре идет по CLSID - это некий GUID, который идентифицирует то или иное приложение. Так вот, раньше он был один на все версии Office. Не менялся от версии к версии. Как следствие, программный запуск всегда выполнялся только по той версии, которая была установлена последней. Которая переписала ветки в реестре на себя Но! У новых версий, вроде бы, CLSID изменился, поэтому можно попробовать явно указать это значение, используя CreateObjectEx() Код: sql 1. 2. 3. 4. 5.
Однако это не гарантирует корректного запуска, если при установке старшей версии все остальные ветки реестра для младших версий затерли данными из новой. По крайней мере у меня в реестре на ноуте, хотя и указаны разные GUID для разных версий, но пути доступа все-равно у всех переписаны на последнюю установленную версию Office. С оффисом могут быть еще разные глюки и фичи, связанные с тем, что где-то, в какой-то ветке реестра, что-то не так прописалось. Вот например, запуск по расширению файла. Поищите в интернете полный список настроек системного реестра для установки Word и сравните с настройками на проблемном компьютере. Возможно, что-то указано не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 19:19 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Идентификация в реестре идет по CLSID - это некий GUID, который идентифицирует то или иное приложение. Так вот, раньше он был один на все версии Office. Не менялся от версии к версии. Неправда. Он всегда для каждой версии разный. Вида Word.Application.8 Краткое написание Word.Application - фактически просто синоним. Посмотрите в регистри (regedit32.exe) AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 19:37 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Хотя, по хорошему, нужно бы проверить ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 19:39 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Вы остальные-то ветки реестра откройте и сравните, какое именно значение CLSID для разных версий указано. Есть только 2 варианта. для старых версий, которые с файлами doc работали и с новыми docx. При этом, даже если CLSID будет разный, но ссылки на конкретный файлы внутри веток будут одни и те же для разных версий Office ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 19:41 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
У меня чувство, что в 98-2000-х конкретная версия запускалась корректно. Но с тех пор вплотную интеграцией с Office не занимался ((( Т.ч. могу ошибаться ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 20:18 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Идентификация в реестре идет по CLSID - это некий GUID, который идентифицирует то или иное приложение. Так вот, раньше он был один на все версии Office. Не менялся от версии к версии. Неправда. Он всегда для каждой версии разный. Вида Word.Application.8 Краткое написание Word.Application - фактически просто синоним. Посмотрите в регистри (regedit32.exe) AFAIK ПОМОГИТЕ! Какая цифра будет для WORD 2016 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 22:16 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Вот нашёл интересное по теме: Обращение к WORD производится с цифрой на конце: https://stackoverflow.com/questions/12073152/how-to-open-specific-version-of-word-2007-2010-in-excel У WORD 2016 какой номер? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 22:20 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 07:27 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
p672 ПОМОГИТЕ! Какая цифра будет для WORD 2016 ? Да без разницы, какую цифру поставите! В любом случае будет запущена вовсе не указанная Вами версия, а та, которая была установлена последней на Вашем компьютере. Обращаю внимание - не последняя, а последняя установленная . Если Вы установите младшую версию после старшей, то вот эта младшая и будет запускаться Как вообще определяется, что именно надо запустить? Это же надо конкретный файл запустить. И вот как компьютер находит, какой именно? А находит он это в системном реестре. Картинку Вам тут уже показали. Вроде бы, все хорошо. На каждую версию есть своя отдельная ветка реестра. А вот нет! Ветки-то есть, но внутри этих веток все ссылки на запускающие файлы подменены на пути доступа к файлам последней установленной версии Office. Это значит, что штатными средствами, без каких-то "хакерских трюков" Вы никак, никоим образом, не сможете выбрать версию Office для запуска. У Вас всегда, вне зависимости от способа запуска, будет запускать только одна, последняя установленная, версия. Цифра имеет смысл с точки зрения только и исключительно чтения. Чтобы понять, какую именно версию Вы реально запустили. --------------- А теперь главный вопрос, который надо было задать с самого начала. А зачем Вам надо выбирать версию для запуска? Как ни странно, но именно в Office довольно хорошо поддерживается обратная совместимость версий. Т.е., как правило, команды, функции и методы старых версий будут вполне себе корректно работать и в новых версиях. Разумеется, есть некоторая часть команд, которые видоизменяются в новых версиях. Но обычно их немного. И вот именно для этого случая и нужно прочитать номер запущенной версии Office. По этому номеру и сделать ветвление кода, чтобы вместо одних функций использовать другие. Работающие именно в данной версии. Таких не должно быть очень уж много ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 10:08 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Для младших версий точно номер не помню - Office 97 - Office 2000 10 - OfficeXP 12 - Office 2007 14 - Office 2010 15 - Office 2013 16 - Office 2016 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 10:42 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
p672 Код: vbnet 1. 2.
ну не отображайте тогда так Word, просто временно куда нибудь сохраните, а запускайте через ShellExecute ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2021, 09:12 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
Как сохранить файл вместо выдачи на экран? И как потом запустить его? (команда RUN подходит)? Приведите пожалуйста пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2021, 11:05 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
p672, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 21:17 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
пути к нужным офисам уже прикрути к ShellExecute сам ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 21:18 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
bguo_reminder, Получилось сделать с помощью SHELLEXECUTE , НО запускается НЕ тот офис.. ---------------------------------------------------------------------- а куда прописывать пути к офисам для открытия файла? - нет такого параметра. (ЭТО САМОЕ ГЛАВНОЕ ДЛЯ МЕНЯ) STRING cDir, ; - это же путь к самому открываемому файлу а не к конкретному офису. Помогите задать путь чтобы запустить нужный офис, какой параметр за это отвечает? (нужен пример). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 09:29 |
|
Две версии OFFICE 2007 и 2016 вывод переменных в WORD из VFP 9 SP2
|
|||
---|---|---|---|
#18+
p672, Гм... Ну, еще раз. НЕЛЬЗЯ запустить конкретный оффис. Вот вообще НЕЛЬЗЯ. Совсем. Никак. Это политика Microsoft такая. Они не предусматривают установку нескольких оффисов на одном компьютере. Предположим, ты придумал "хитромудрый" способ и запустил-так то, что тебе нужно. Но! Где именно ты запустил? Там, где ты точно знал, что есть 2 разных оффиса и там, где придуманный тобой "хитрый способ" сработает. А есть уверенность, что на других компьютерах есть несколько оффисов? А есть уверенность, что придуманный способ на этих других компьютерах сработает И еще раз. Вот зачем тебе выбирать конкретную версию? Какую именно задачу ты хочешь решить таким способом? Чем тебе мешает запуск текущей версии? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 20:09 |
|
|
start [/forum/topic.php?fid=41&fpage=2&tid=1581474]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 395ms |
0 / 0 |