Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318

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

27.02.2024, 21:44. Показов 2019. Ответов 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
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
28.02.2024, 15:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от testuser2 Посмотреть сообщение
У вас 3703 сообщения и 536 тем в разделе VBA и вы не знаете как экранировать ковычки? Не верю
о, ты его просто плохо знаешь. Этот — необучаем. Оставь попытки — ему всё готовое и расжёванное нужно. Часто
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
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
1385 / 840 / 91
Регистрация: 08.02.2017
Сообщений: 3,567
Записей в блоге: 1
29.02.2024, 07:47
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
но откуда в адресной строке взялось то, что я вижу
Потому что не хватает ковычек, и ShellExp передает параметр запуска хрому - строку с пробелом, это воспринимается хромом как два параметра. Здесь надо было просто добавить еще по ковычке. Ковычки внутри ковычек должны экранироваться ковычками, это простое правило..
Цитата Сообщение от testuser2 Посмотреть сообщение
fullpath = """" & path & "Эндрю Питоньяк1.pdf" & """"
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
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
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
29.02.2024, 10:02
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как узнать какое приложение, открывает по умолчанию файлы pdf?
открыть PDF ручками
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
29.02.2024, 10:03  [ТС]
Цитата Сообщение от Jack Famous Посмотреть сообщение
открыть PDF ручками
никто и не спорит, а программно как?
0
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
29.02.2024, 10:30
Ципихович Эндрю, научитесь уже пользоваться поисковиком
Успехов!
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
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
529 / 349 / 144
Регистрация: 21.09.2016
Сообщений: 1,327
29.02.2024, 13:44
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
1 не взлетело
какие ваши доказательства.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
29.02.2024, 13:48  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
какие ваши доказательства.
вот они:
Миниатюры
Открыть PDF файл  
0
1385 / 840 / 91
Регистрация: 08.02.2017
Сообщений: 3,567
Записей в блоге: 1
29.02.2024, 13:52
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
неужели так много кода нужно для такого уточнения
Вообще мало понятна такая потребность, но для интереса глянул, выяснит это можно прочитав в реестре п пути
HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Explorer\FileExts\.p df\UserChoice
парметр Progid. Хотя в других версиях Windows (отличных от моей) это может отличаться.
1
529 / 349 / 144
Регистрация: 21.09.2016
Сообщений: 1,327
29.02.2024, 13:53
ну это говорит, что макрос отработал без ошибок, но не нашел, что у вас открывает пдф по умолчанию. Если из консоли cmd запустить assoc .pdf, что выдает?
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
29.02.2024, 13:57  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
Если из консоли cmd запустить assoc .pdf, что выдает?
.pdf=Acrobat.Document.DC
а на самом деле по умолчанию браузер Лиса
0
529 / 349 / 144
Регистрация: 21.09.2016
Сообщений: 1,327
29.02.2024, 14:00
а потом ftype Acrobat.Document.DC
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
29.02.2024, 14:09  [ТС]
Цитата Сообщение от Garic73 Посмотреть сообщение
а потом ftype Acrobat.Document.DC
Тип файлов 'Acrobat.Document.DC' не найден, или ему не сопоставлена команда открытия.
0
529 / 349 / 144
Регистрация: 21.09.2016
Сообщений: 1,327
29.02.2024, 14:14
т.е. у вас ассоциация на пдф Acrobat.Document.DC, а как его запускать система не знает.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
29.02.2024, 14:18  [ТС]
что и говорит, что всякое бывает
ну на всякий у меня ОС вин 10х64

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Call ShellExecute(0, "open", path_file, "", "", SW_SHOWMAXIMIZED) 'приложение, открывающее по умолчанию файлы pdf
мне и надо узнать в чём же будет открыто
0
1385 / 840 / 91
Регистрация: 08.02.2017
Сообщений: 3,567
Записей в блоге: 1
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
529 / 349 / 144
Регистрация: 21.09.2016
Сообщений: 1,327
29.02.2024, 14:20
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
мне и надо узнать в чём же будет открыто
вы же можете в строке запуска прописывать приложение каким хотите открыть, зачем извращаться, искать приложение по умолчанию?
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru