powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открыть любой файл MS Office в новом экземпляре приложения
2 сообщений из 2, страница 1 из 1
Открыть любой файл MS Office в новом экземпляре приложения
    #37722333
Фотография Dan-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Встала задача открывать из Excel наиболее часто используемые файлы MS Office и каждый раз в новом приложении.

Написал небольшой универсальный открыватель файлов Excel, PowerPoint, Word...

Но встали 2 проблемы:
1. закрыть открываемое приложение для поврежденных файлов - не очень элегантно, но решил через On error goto

2. проверить не открыт ли данный файл и отменить открытие приложения, если файл уже открыт...

Код: vbnet
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
'ОТКРЫТЬ ПРОИЗВОЛЬНЫЙ ФАЙЛ MS OFFICE
Public FullFileName As String
Sub Open_file_MSO()

'Dan-K 
Dim wb As Object
Dim objExcel As Excel.Application
Dim objWord
Dim objPP As Object
'On Error Resume Next

CALL_FileDialog_1


If Right(FullFileName, 3) = "xls" _
Or Right(FullFileName, 3) = "lsm" _
Or Right(FullFileName, 3) = "lsb" _
Or Right(FullFileName, 3) = "lsx" _
Or Right(FullFileName, 3) = "ods" _
Then
'On Error GoTo 1
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open(FullFileName)
objExcel.Visible = True
Exit Sub
1
objExcel.Quit
Exit Sub
End If

If Right(FullFileName, 3) = "doc" _
Or Right(FullFileName, 3) = "ocx" _
Or Right(FullFileName, 3) = "rtf" _
Or Right(FullFileName, 3) = "ocm" _
Or Right(FullFileName, 3) = "odt" _
Then
On Error GoTo 2
Set objWord = CreateObject("Word.Application")
Set wb = objWord.Documents.Open(FullFileName)
objWord.Visible = True
Exit Sub
2
objWord.Quit
Exit Sub
End If

If Right(FullFileName, 3) = "psx" _
Or Right(FullFileName, 3) = "psm" _
Or Right(FullFileName, 3) = "pps" _
Or Right(FullFileName, 3) = "ppt" _
Or Right(FullFileName, 3) = "ptm" _
Or Right(FullFileName, 3) = "ptx" _
Or Right(FullFileName, 3) = "odp" _
Then
On Error GoTo 3
Set objPP = CreateObject("Powerpoint.Application")
objPP.Visible = True
objPP.Presentations.Open FullFileName
Exit Sub
3
objPP.Quit
Exit Sub
End If


End Sub

Sub CALL_FileDialog_1()
On Error GoTo 1
FullFileName = ""
FullFileName = Application.GetOpenFilename([F_BUTTON_19], , [F_BUTTON_20], , False)
[AAAAA] = FullFileName
If FullFileName = "" Then Exit Sub
Exit Sub
1
FullFileName = ""

End Sub
...
Рейтинг: 0 / 0
Открыть любой файл MS Office в новом экземпляре приложения
    #37726326
Фотография Dan-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант с открытием вообще всех-подряд файлов... череp API

Но есть большая проблема. Как переделать описание API-функции для 64 и 32 битной версий под 2010 Excel с VBA7?

Посоветуйте, где взять табличку соответствий оформления API для VBA6 и VBA7?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открыть любой файл MS Office в новом экземпляре приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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