powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открыть файл из диал окна
33 сообщений из 33, показаны все 2 страниц
Открыть файл из диал окна
    #37638046
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрых суток, подскажите, пожалуйста, в виде как ниже, при выборе любого файла открывается f1310.txt, а мне нужно чтобы была проверка какой файл нажал пользователь. Заранее спасибо!


fileToOpen = Application.GetOpenFilename("Text Files (*F1310.txt), *F1310.txt", , "Ф_1310", f1310)


If fileToOpen <> False Then


Workbooks.OpenText Filename:=ThisWorkbook.Path & "\F1310_ALL.TXT", Origin:= _
866, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 1 _
), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1)), _
TrailingMinusNumbers:=True
MsgBox "Open " & fileToOpen


End If
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638058
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что написано:
Код: vbnet
1.
Filename:=ThisWorkbook.Path & "\F1310_ALL.TXT"

то и открывает
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638104
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

да, можно выбрать любой, откроется Filename:=ThisWorkbook.Path & "\F1310_ALL.TXT", , а мне нужно, чтобы при выборе файла с другим именем "\F1310_ALL.TXT" не открылся, вот такое условие простое, а не выходит правильно его изобразить...
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638137
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так.
Еще раз намекаю.
Открывается файл F1310_ALL.TXT, потому что явно написано, что его нужно открыть ВОТ ТУТ:
Код: vbnet
1.
Filename:=ThisWorkbook.Path & "\F1310_ALL.TXT"

намекаю дальше, чтобы открылся другой файл, нужно поменять именно в этом месте.

Надеюсь, что вы чуть-чуть додумаете самостоятельно
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638182
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

да, я понял, только в диал окне выводтся файлы, и к примеру, пользователь нажал на 11.txt у меня все равно откроется F1310_ALL.txt, а мне нужно чтобы он открывался только при условии, что пользователь выберет именно F1310.txt из диал окна...
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638229
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma126,

Вы не поняли. Этот файл открывается вне зависимости от выбора в диалоговом окне, т.к. результат такого выбора у вас никак не задействован при открытии файла.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
fileToOpen = Application.GetOpenFilename("Text Files (*F1310.txt), *F1310.txt", , "Ф_1310", f1310)


If fileToOpen <> False Then


Workbooks.OpenText Filename:=ThisWorkbook.Path & fileToOpen, Origin:= _
 866, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
 ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
 , Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 1 _
 ), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
 Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
 , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
 Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1)), _
 TrailingMinusNumbers:=True
 MsgBox "Open " & fileToOpen
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638248
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL), а как бы сделать, чтобы результат зависел от выбора в диал окне?
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638279
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL),

полный путь там не нужен, fileToOpen полностью содержит в себе путь и имя выбранного файла
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638304
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Упс... Спасибо.

roma126,

Желтым цветом я для Shocker.Pro выделил?. Даю подсказку: в желтой строке найдите 1 отличие от вашего кода.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
fileToOpen = Application.GetOpenFilename("Text Files (*F1310.txt), *F1310.txt", , "Ф_1310", f1310)


If fileToOpen <> False Then

 Workbooks.OpenText Filename:=ThisWorkbook.Path & "\" & Dir(fileToOpen), Origin:= _
 866, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
 ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
 , Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 1 _
 ), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
 Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
 , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
 Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1)), _
 TrailingMinusNumbers:=True
 MsgBox "Open " & fileToOpen


End If 
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638308
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От блин, запутался в коде



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
fileToOpen = Application.GetOpenFilename("Text Files (*F1310.txt), *F1310.txt", , "Ф_1310", f1310)


If fileToOpen <> False Then

Workbooks.OpenText Filename:= fileToOpen, Origin:= _
 866, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
 ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
 , Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 1 _
 ), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
 Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
 , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
 Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1)), _
 TrailingMinusNumbers:=True
 MsgBox "Open " & fileToOpen


End If 
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638350
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL),

открывается любой выбранный, а как ограничить пользователя чтобы нажал только f1310, а если другой файл выберет, то чтобы другой не открылся...надо не дать пользователю варианты выбора, но в то же время нужно чтобы он нажал на f1310 в диал окне, вот такое услокие...
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638377
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma126KL (XL),

открывается любой выбранный, а как ограничить пользователя чтобы нажал только f1310, а если другой файл выберет, то чтобы другой не открылся...надо не дать пользователю варианты выбора, но в то же время нужно чтобы он нажал на f1310 в диал окне, вот такое услокие...

Тогда попробуйте присваивать вашим файлам имена в формате "xyz.F1310.txt" (здесь важна именно дополнительная точка)

В этом случае след. код сработает:

Код: vbnet
1.
fileToOpen = Application.GetOpenFilename("Text Files (*.F1310.txt), *.F1310.txt", , "Ф_1310", f1310)
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638381
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma126как ограничить пользователя чтобы нажал только f1310,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
If fileToOpen <> False Then
  If Right$(fileToOpen, 9)="f1310.txt" Then
    Workbooks.OpenText Filename:= fileToOpen '...
  Else
    Msgbox "Ах ты засранец!"
  End If
End If
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638385
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)В этом случае след. код сработает:не сработает. Нельзя запретить пользователю в GetOpenFilename выбрать произвольный файл
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638480
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKL (XL)В этом случае след. код сработает:не сработает. Нельзя запретить пользователю в GetOpenFilename выбрать произвольный файл

Сработает ;) Он произвольных файлов не увидит.
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638501
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Если подразумевается то, что можно вписать имя существующего, но неотображенного файла, то речь, думаю, все же не о хакере, а о пользователе
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638507
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Сработает ;) Он произвольных файлов не увидит.это тебе так только кажется

(не тот файл, сорри)
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638520
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Если подразумевается то, что можно вписать имя существующего, но неотображенного файла, то речь, думаю, все же не о хакере, а о пользователечитаем ТЗ автора:
roma126а как ограничить пользователя чтобы нажал только f1310ответ - НИКАК
roma126а если другой файл выберет, то чтобы другой не открылсяну а вот этот вариант я ему предлолжил
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638577
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKL (XL)Сработает ;) Он произвольных файлов не увидит.это тебе так только кажется

(не тот файл, сорри)

Возможно, а еще возможно, что ТЫ что-то делаешь не так, и галлюцинации у тебя:
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638686
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Возможно, а еще возможно, что ТЫ что-то делаешь не так, и галлюцинации у тебя:так ты напиши в поле ввода звездочку и нажми энтер
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638689
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKL (XL)Возможно, а еще возможно, что ТЫ что-то делаешь не так, и галлюцинации у тебя:так ты напиши в поле ввода звездочку и нажми энтерточнее *.*. Я ведь все показал на примере. И, как ты справедливо заметил, возможно еще вписать путь к файлу руками, причем, из-за того, что там выпадают подсказки, это зачастую намного быстрее, чем прокликать весь путь мышкой и я часто этим пользуюсь. А еще там выпадающий список с последними открывавшимися файлами, которые тоже не подпадают под фильтр *.txt. Так что вариантов много, и никакой гарантии, что юзер не воспользуется каким-нибудь из них
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638738
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> так ты напиши в поле ввода звездочку и нажми энтер
> точнее *.*. Я ведь все показал на примере.

Шайтан!

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37638768
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос> Автор: Shocker.Pro
> так ты напиши в поле ввода звездочку и нажми энтер
> точнее *.*. Я ведь все показал на примере.

Шайтан! Не раз пользовался. К примеру, хочет прога, чтобы я выбрал файл DOC, а мне позарез надо DOT. Или она хочет файл TXT, а мне нужно LOG обработать
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639016
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки предлагаю рассуждать здраво и без програмерского снобизма ;)

1. Делать то, про что говорит Shocker.Pro (*.*) в диалоге программы, которая просит конкретный файл равносильно поговорке "Назло надменному соседу куплю билет и не поеду.", так как, вероятнее всего, результатом будет сбой в программе. А ведь проще открыть файл через проводник если интересно. Или нет?

2. В принципе не существует метода не дать пользователю открыть файл. Действительно нужно объяснять как продвинутый юзер обойдет решение предложенное Shocker.Pro? В Excel, все возможные ограничения могут рассматриваться как средство предотвращения ошибочных действий, а никак не защита от намеренного сабботажа.
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639020
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Все-таки предлагаю рассуждать здраво и без програмерского снобизмаНу можно и так.
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639511
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
так тоже не открывает, вообще никакой не хочет открывать...

fileToOpen = Application.GetOpenFilename("Text Files (*F_1310.txt), *F_1310.txt", , "Ф_1310", f1310)

If fileToOpen <> False Then

If Right$(fileToOpen, 10) = "F_1310.txt" Then
Workbooks.OpenText Filename:=ThisWorkbook.Path & "\F_1310.TXT", Origin:= _
866, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 1 _
), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1)), _
TrailingMinusNumbers:=True
MsgBox "Open " & fileToOpen

Else
MsgBox "Нужно выбрать файл - f_1310.txt!!!"
End If
End If
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639530
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ведь упорный. Несколько раз уже ответили, как надо, нет, все равно пишет неправильно и удивляется, что не работает.
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639599
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
вот никак не получается... может если не трудно, подскажите по коду что поправить?
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639629
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитай предыдущую страницу, там все подсказано.
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639667
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

перечитал все, и не дошло... делал по-разному, и все равно, или может выбрать любые файлы, или вообще только msgbox. А так чтобы мог открыть только f_1310.txt, а при выборе другого только msgbox не получается...
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639724
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

а если точнее ткните меня носом! что конкретно поменять?
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639905
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma126а если точнее ткните меня носом! что конкретно поменять? 11996916
...
Рейтинг: 0 / 0
Открыть файл из диал окна
    #37639907
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: roma126
> а если точнее ткните меня носом! что конкретно поменять?

roma126ThisWorkbook.Path & "\F_1310.TXT" - вот здесь ты в любом случае открываешь файл F_1310.TXT. Не
зависимо от выбора пользователя. Тебе нужно вместо имени файла и пути, подставлять переменную с результатом вызова
диалога выбора файла и которая называется - fileToOpen

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открыть файл из диал окна
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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