powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OpenFileDialog в Exel
9 сообщений из 9, страница 1 из 1
OpenFileDialog в Exel
    #33199951
Nektov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,
Какую ссылку в проект нужно добавить, чтобы я мог пользоваться OpenFileDialog?
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33200202
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
Private Sub CommandButton1_Click()
    Dim OFName As OPENFILENAME
    OFName.lStructSize = Len(OFName)
    OFName.lpstrFilter = "Text Files (*.txt)" + Chr$( 0 ) + "*.txt" + Chr$( 0 ) + "All Files (*.*)" + Chr$( 0 ) + "*.*" + Chr$( 0 )
    OFName.lpstrFile = Space$( 254 )
    OFName.nMaxFile =  255 
    OFName.lpstrFileTitle = Space$( 254 )
    OFName.nMaxFileTitle =  255 
    OFName.lpstrInitialDir = "C:\"
    OFName.lpstrTitle = "Open File - KPD-Team 1998"
    OFName.flags =  0 
    If GetOpenFileName(OFName) Then
        MsgBox "File to Open: " + Trim$(OFName.lpstrFile)
    Else
        MsgBox "Cancel was pressed"
    End If
End Sub
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33200264
Nektov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За это спасибо, работает
Кстати, после того, как запустил это, наткнулся на FileDialog в списке переменных. :-)

Еще один вопрос:
При помощи чего VBA работает с простыми текстовыми файлами (Чтение строки, запись ну и прочая лабуда)?
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33200709
Способов вызова диалога выбора файлов полно.

Если Office > 2000, то проще воспользоваться свойством FileDialog объекта Application.
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33201022
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NektovПри помощи чего VBA работает с простыми текстовыми файлами (Чтение строки, запись ну и прочая лабуда)?Вместо стандартных для VB операторов Get, Put, Print etc. рекомендуется использовать объекты библиотеки "Scripting.FileSystemObject".
Вот цитата из "Справки Microsoft Visual Basic":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
The following code illustrates how the FileSystemObject is used to return a TextStream object that can be read from or written to:

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close

In the code shown above, the CreateObject function returns the FileSystemObject (fs). The CreateTextFile method then creates the file as a TextStream object (a), and the WriteLine method writes a line of text to the created text file. The Close method flushes the buffer and closes the file.
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33201175
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтение и запись текстовых файлов
http://www.firststeps.ru/vba/excel/
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33202006
Nektov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопрос. Делаю так:
автор Dim f, s, fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(strFileName)
--> s = f.OpenAsTextStream(1)

Do While Not s.AtEndOfStream
Debug.Print s.ReadLine
Loop
s.Close
Set f = Nothing


На отмеченой строчке выдает ошибку "Object doesn't this rpoperty or method"
Что делаю не так?
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33202010
Nektov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, Нетовские привычки подводят :-) Ошибку нашел. Не поставил Set
...
Рейтинг: 0 / 0
OpenFileDialog в Exel
    #33203650
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NektovЧто делаю не так?Прежде всего "не так" - первая строка:
Код: plaintext
Dim f, s, fso
Примеры приведены, во-первых, для VBS, и, во-вторых, для уменьшения размеров HELP'а.
В работе включайте опцию редактора "Require Variable Declaration"
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OpenFileDialog в Exel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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