1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337

Открыть PDF файл

27.02.2024, 21:44. Показов 2473. Ответов 45
Метки pdf (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте
при открытии файла из Ворда вручную появляется окно "Преобразование файла" - я все опции не опробовал, но то, что пробовал - не взлетело
вопрос такой: как в макросом открыть пдф файл по нужному пути? спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2024, 21:44
Ответы с готовыми решениями:

Открыть pdf файл
Как открыть pdf файл? Желательно без установки читалок.

Как открыть .pdf файл из VB программы?
Как открыть .pdf файл из VB программы?

Как запустить (открыть) pdf фаил по пути хронящейся в переменной?
Как запустить (открыть) pdf фаил по пути хронящейся в переменной?

45
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
28.02.2024, 15:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от testuser2 Посмотреть сообщение
У вас 3703 сообщения и 536 тем в разделе VBA и вы не знаете как экранировать ковычки? Не верю
о, ты его просто плохо знаешь. Этот — необучаем. Оставь попытки — ему всё готовое и расжёванное нужно. Часто
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 06:49  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
а что у них по разному путь надо прописывать?
ну ладно если для хрома отдельно прописать:
Visual Basic
1
2
3
Dim fullpathChrome$
       fullpathChrome = Replace$(fullpath, " ", "%20")
       Call ShellExecute(0, "open", "chrome.exe", fullpathChrome, "", SW_SHOWMAXIMIZED) 'Хром
файл также не откроется, это пол беды, но откуда в адресной строке взялось то, что я вижу
......Эндрю%2520Питоньяк....... 25 откуда надуло? спасибо
0
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,696
Записей в блоге: 2
29.02.2024, 07:47
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
но откуда в адресной строке взялось то, что я вижу
Потому что не хватает ковычек, и ShellExp передает параметр запуска хрому - строку с пробелом, это воспринимается хромом как два параметра. Здесь надо было просто добавить еще по ковычке. Ковычки внутри ковычек должны экранироваться ковычками, это простое правило..
Цитата Сообщение от testuser2 Посмотреть сообщение
fullpath = """" & path & "Эндрю Питоньяк1.pdf" & """"
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 09:18  [ТС]
Цитата Сообщение от testuser2 Посмотреть сообщение
Здесь надо было просто добавить еще по ковычке
ок, сделал:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Option Explicit
 
'Декларация функции для запуска файла
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
 
Public Const SW_SHOWMAXIMIZED = 3
 
Sub Main()
    Dim path$
    path = "I:\события документа\"
    Dim file$
    file = "Эндрю Питоньяк1.pdf"
    Dim path_file$
    path_file = path & file
    If Len(Dir(path_file)) = 0 Then
        MsgBox "Отсутствует требуемый файл", 48, "Ошибка"
    Else
       Call ShellExecute(0, "open", path_file, "", "", SW_SHOWMAXIMIZED) 'приложение, открывающее по умолчанию файлы pdf
       path_file = """" & path_file & """"
       Call ShellExecute(0, "open", "chrome.exe", path_file, "", SW_SHOWMAXIMIZED) 'открыть pdf файл с помощью браузера Chrome
   End If
спасибо, а как узнать какое приложение, открывает по умолчанию файлы pdf?
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
29.02.2024, 10:02
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как узнать какое приложение, открывает по умолчанию файлы pdf?
открыть PDF ручками
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 10:03  [ТС]
Цитата Сообщение от Jack Famous Посмотреть сообщение
открыть PDF ручками
никто и не спорит, а программно как?
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
29.02.2024, 10:30
Ципихович Эндрю, научитесь уже пользоваться поисковиком
Успехов!
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 10:42  [ТС]
Цитата Сообщение от Jack Famous Посмотреть сообщение
научитесь уже пользоваться поисковиком
прежде чес спросить я конечно же гуглил, нагуглил
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub GetDefaultAppForPdf()
    Dim cmd As String
    cmd = "cmd /c assoc .pdf"
    Dim wsh As Object
    Set wsh = CreateObject("WScript.Shell")
    Dim output As String
    output = wsh.Exec(cmd).StdOut.ReadAll()
 
    Dim association As String
    association = Split(output, "=")(1)
    association = Trim(association)
 
    cmd = "cmd /c ftype " & association
    output = wsh.Exec(cmd).StdOut.ReadAll()
 
    Dim defaultApp As String
    defaultApp = Trim(output)
 
    MsgBox "The default application for opening PDF files is: " & defaultApp, vbInformation, "Default PDF Application"
 
    Set wsh = Nothing
End Sub
1 не взлетело
2 неужели так много кода нужно для такого уточнения?
0
590 / 367 / 149
Регистрация: 21.09.2016
Сообщений: 1,387
29.02.2024, 13:44
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
1 не взлетело
какие ваши доказательства.
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 13:48  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
какие ваши доказательства.
вот они:
Миниатюры
Открыть PDF файл  
0
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,696
Записей в блоге: 2
29.02.2024, 13:52
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
неужели так много кода нужно для такого уточнения
Вообще мало понятна такая потребность, но для интереса глянул, выяснит это можно прочитав в реестре п пути
HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Explorer\FileExts\.p df\UserChoice
парметр Progid. Хотя в других версиях Windows (отличных от моей) это может отличаться.
1
590 / 367 / 149
Регистрация: 21.09.2016
Сообщений: 1,387
29.02.2024, 13:53
ну это говорит, что макрос отработал без ошибок, но не нашел, что у вас открывает пдф по умолчанию. Если из консоли cmd запустить assoc .pdf, что выдает?
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 13:57  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
Если из консоли cmd запустить assoc .pdf, что выдает?
.pdf=Acrobat.Document.DC
а на самом деле по умолчанию браузер Лиса
0
590 / 367 / 149
Регистрация: 21.09.2016
Сообщений: 1,387
29.02.2024, 14:00
а потом ftype Acrobat.Document.DC
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 14:09  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
а потом ftype Acrobat.Document.DC
Тип файлов 'Acrobat.Document.DC' не найден, или ему не сопоставлена команда открытия.
0
590 / 367 / 149
Регистрация: 21.09.2016
Сообщений: 1,387
29.02.2024, 14:14
т.е. у вас ассоциация на пдф Acrobat.Document.DC, а как его запускать система не знает.
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 14:18  [ТС]
что и говорит, что всякое бывает
ну на всякий у меня ОС вин 10х64

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Call ShellExecute(0, "open", path_file, "", "", SW_SHOWMAXIMIZED) 'приложение, открывающее по умолчанию файлы pdf
мне и надо узнать в чём же будет открыто
0
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,696
Записей в блоге: 2
29.02.2024, 14:18
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Visual Basic
1
2
3
4
5
6
Sub PDFProg()
    Const PDFAssocKey$ = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice\ProgId"
    Dim sProg$
    sProg = CreateObject("WScript.Shell").RegRead(PDFAssocKey)
    MsgBox sProg
End Sub
2
590 / 367 / 149
Регистрация: 21.09.2016
Сообщений: 1,387
29.02.2024, 14:20
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
мне и надо узнать в чём же будет открыто
вы же можете в строке запуска прописывать приложение каким хотите открыть, зачем извращаться, искать приложение по умолчанию?
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
29.02.2024, 14:27  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
вы же можете в строке запуска прописывать приложение каким хотите открыть, зачем извращаться, искать приложение по умолчанию?
потому как ещё нужно городить огород по поводу какие же на ПК стоят программы а так сообщение № 38 = 4 строки сказало
FirefoxPDF-ясно и понятно, спасибо всем откликнувшимся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.02.2024, 14:27

Как открыть pdf-файл
Как из вба, нажатием на кнопку, открыть документ в формате пдф

Можно ли: открыть файл PDF внешним приложением Inkscape и скопировать из него содержимое?
возможно ли открыть файл в PDF внешним приложением (Inkscape) и скопировать в буфер содержимое ? 1. хотел подключить библиотеку InkScape...

Как создать PDF файл с именем ZAKAZ_(дата сегодня).pdf
Как создать из "Excel таблицы" - PDF файл с именем ZAKAZ_(дата сегодня).pdf при помощи макроса? Есть такой макрос: Sub...

Открыть файл, разделить ячейку на 1000, сохранить файл, закрыть файл
Макрос должен запускаться, спрашивать - какой файл ему взять. Открыть его, разделить определенную ячейку на 1000, сохранить файл. ...

Не могу открыть в PDF читалке в форме PDF файл имя которого хранится в БД Access
в приложении есть поиск он ищет в БД(1 таблица, 2 поля) и если в поисковую строку вводится название проблемы схожее с имеющейся в БД(1...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru