Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.07.2007, 06:43   #1
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию Диалог ввода файла

Доброе время суток. Нужен диалог ввода файла т.е не открыть в ексцеле или в ворде а просто имя файла
SAndrus вне форума
Старый 08.07.2007, 08:09   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

ничего не понятно (
Берегите друг друга!
Virtson вне форума
Старый 08.07.2007, 09:05   #3
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Если Вы хотите с помощью стандартного диалогового окна получить возможность выбора файла, без его открытия, то решений поставленного вопроса может несколько, например :

Excel

Код:
iFullName = Application.GetOpenFilename()

If iFullName <> False Then
   MsgBox "Вы выбрали файл : " & Dir(iFullName), , ""
Else
   MsgBox "Вы отказались от выбора файла", , ""
End If
Обратите внимание на то, что у метода GetOpenFilename есть несколько необязательных аргументов, которые позволяют задать фильтр, текст для заголовка окна и кнопки, а также разрешить выбор нескольких файлов.

Word

Код:
With Dialogs(wdDialogFileOpen)
     .Display
     If .Name <> "" Then
        MsgBox "Вы выбрали файл : " & .Name, , ""
     Else
        MsgBox "Вы отказались от выбора файла", , ""
     End If
End With
pashulka вне форума
Старый 08.07.2007, 09:43   #4
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию Огромное спасибо pashulka

Это как раз то че доктор прописал (то что надо). Жаль стартовую директорию задать не знай как
SAndrus вне форума
Старый 08.07.2007, 12:02   #5
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Код:
ChDrive "D"
'Если необходимо изменить текущий диск
'Укажите реально существующий диск
ChDir "D:\Archive\2007"
'Укажите реально существующую папку
'Если Вы сомневаетесь в её наличии, то можно использовать
'предварительную проверку If Dir(iPath, vbDirectory) <> "" Then

iFullName = Application.GetOpenFilename( _
FileFilter:="Excel Files (*.xls),*.xls", _
Title:="Выберите нужный файл и кликните кнопку")

If iFullName <> False Then
   MsgBox "Вы выбрали файл : " & Dir(iFullName), , ""
Else
   MsgBox "Вы отказались от выбора файла", , ""
End If
Если же речь идёт о MSOffice XP (и старше), то в этих версиях появился новый об'ект FileDialog

Код:
With Application.FileDialog(msoFileDialogOpen)
     .Filters.Add "Excel Files", "*.xls"
     .InitialFileName = "D:\Archive\2007"
     .AllowMultiSelect = False
     .Show
     If .SelectedItems.Count = 1 Then
        MsgBox "Вы выбрали файл : " & Dir(.SelectedItems(1)), , ""
     Else
        MsgBox "Вы не выбрали нужный файл", , ""
     End If
End With
pashulka вне форума
Старый 08.07.2007, 20:02   #6
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию

Екселевский диалог ввода файла что надо. Другой вопрос связан со стандартным диалогом инпутбокс. Знач в екселе открываем ворд документ нужно в окне ворда вывести инпутбокс. Через ворд аппликатион не получается там нет инпутбокса. А в окне екселя не то
SAndrus вне форума
Старый 08.07.2007, 21:11   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

- Об'ект FileDialog (при наличии соответствующей версии) можно использовать и в Word

- Basic функцию Input можно вызвать в Word, например:

Код:
With CreateObject("Word.Application")
     iText = InputBox("Введите текст", "")
     
     .Documents.Add
     If iText <> "" Then
        .Selection.Text = iText
     Else
        .Selection.Text = "Вы не ввели нужный текст"
     End If
     .Visible = True
End With
pashulka вне форума
Старый 09.07.2007, 08:34   #8
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию

Наверно я чет неправильно объяснил, такой код выводит импут в окне ексцела, ет не то. У меня офис 2000, может в этом дело. Вывести в вордовский файл текст не составляет труда. Нужно чтобы сам диалог запроса информации выводился поверх открытого в ворде документа это устроить не получается.
Насколько я знаю файледиалог выводит только диалоги ворда.

Последний раз редактировалось SAndrus; 09.07.2007 в 08:36.
SAndrus вне форума
Старый 10.07.2007, 07:49   #9
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Проблема в общем-то надуманная, ибо :

Код:
Private Sub Test()
    
    Application.Visible = False

    With CreateObject("Word.Application.8")
         .Documents.Add
         .Visible = True
     
         iText$ = InputBox("Введите текст", "")
         
         .Selection.Text = IIf(iText$ <> "", _
         iText$, "Вы так и не ввели нужный текст")
    End With

    Application.Visible = True

End Sub
Цитата:
Сообщение от SAndrus
Насколько я знаю файледиалог выводит только диалоги ворда
Это заблуждение
pashulka вне форума
Старый 10.07.2007, 08:32   #10
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию

Дико извиняюсь за свою тупость,
мог бы и сам додуматься погасить екселевское окно.
Спасибо.
С файледиалог разобрался был не прав.
SAndrus вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать диалог F1kus Общие вопросы Delphi 13 21.08.2008 08:33
Диалог открытия директории Altera Общие вопросы Delphi 13 05.07.2008 12:55
Диалог выбора папки delphin100 Общие вопросы Delphi 2 01.06.2008 22:43
Диалог Михаил Юрьевич Общие вопросы Delphi 2 26.04.2008 22:35
Диалог выбора иконок ЧИЖ Общие вопросы Delphi 9 28.02.2007 13:14