|
Прописать на форме выбор файла самим пользователем | ☑ | ||
|---|---|---|---|---|
|
0
Старуха Шапокляк
27.02.10
✎
14:46
|
1С 7.7
Пишу обработку, на форму которой надо разместить возможность выбора файла Эксель. В модуле обработки, я сейчас вручную прописываю путь к файлу: Excel.Workbooks.Open(ПолноеИмяФайла); А как программно написать, чтобы пользователь сам указывал файл Эксель? |
|||
|
1
ДенисЧ
27.02.10
✎
14:48
|
ВыбратьФайл(<?>,,,,)
Синтаксис: ВыбратьФайл(<ТипДиалога>,<ИмяФайла>,<ИмяНачКаталога>,<ЗаголовокОкна>,<Фильтр>,<Расширение>,<Таймаут>) Назначение: Открывает окно диалога выбора/сохранения файла. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'. Параметры: <ТипДиалога> -: 0 - диалог типа <открыть>, 1 - диалог типа <сохранить>; <ИмяФайла> - переменная, содержащая на входе строку с именем файла, а на выходе - имя выбранного файла; <ИмяНачКаталога> - переменная, содержащая на входе строку с начальным каталогом, а на выходе - имя выбранного каталога; <ЗаголовокОкна> - строка с заголовком окна; <Фильтр> - строка с фильтром отбора файлов (например: 'Все файлы (*.*) |*.*'); <Расширение> - строка с расширением файла по умолчанию; <Таймаут> - время ожидания отклика пользователя в секундах (необязателен). Подробнее см. в документации, глава 'Работа с Файлами' |
|||
|
2
Старуха Шапокляк
27.02.10
✎
14:51
|
(1) А как это связать с Эксель?
|
|||
|
3
ДенисЧ
27.02.10
✎
14:51
|
(2) а что есть "связать с Эксель" ?
|
|||
|
4
БТР
27.02.10
✎
14:52
|
Поле ввода, а на кнопочку рядом вешаешь процедуру с (1)
|
|||
|
5
Mikeware
27.02.10
✎
14:52
|
(2) Веревочкой. с бантиком...
|
|||
|
6
Старуха Шапокляк
27.02.10
✎
14:54
|
Поделитесь обработкой с примером пож-та. Можите скинуть на почту.
|
|||
|
7
mustang1
27.02.10
✎
14:56
|
на какую?
|
|||
|
8
ДенисЧ
27.02.10
✎
14:58
|
(6) уехало.
|
|||
|
9
БТР
27.02.10
✎
14:59
|
Процедура СвязатьСЭксель()
НачФайл = ""; НачКаталог = "D:\"; Если ВыбратьФайл(0,НачФайл ,НачКаталог ,"Выберите файл эксель","(*.xls)","xls") = 1 тогда ИмяПеременнойРеквизитаПоляВводаНаФорме = НачКаталог +НачФайл; Иначе Сообщить("Не выбран файл"); КонецПроцедуры Как то так наверное. |
|||
|
10
ДенисЧ
27.02.10
✎
15:02
|
Можно ещё сделать покрасивше... Строка ввода с педалью. И ПриНачалеВыбораЗначения() поймать...
|
|||
|
11
mustang1
27.02.10
✎
15:04
|
(8) ну вот а я сижу обработку по приличней откапываю)))
|
|||
|
12
ДенисЧ
27.02.10
✎
15:06
|
(11) А я нарисовал с нуля :-) Там 4 строчки всего. Для proof of concept хватит
|
|||
|
13
БТР
27.02.10
✎
15:10
|
Счас уже не помню, но что то строка с педалькой как то плохо работала, не красиво, вешал на отдельную кнопку всегда. Может и ошибаюсь, давно уж было.
|
|||
|
14
Mikeware
27.02.10
✎
15:12
|
(13) Да нормально все работает.
(10) Неужели у автора нет типовых ТиС или Бухии? |
|||
|
15
ДенисЧ
27.02.10
✎
15:13
|
(14) А я откуда знаю? :-)
Мне проще написать самому, чем выискивать что-то в типовых... |
|||
|
16
Старуха Шапокляк
27.02.10
✎
15:13
|
(8) Спасибо! У Вас написан код почти как в (9), код поняла, а что теперь писать вместо строчки:
Excel.Workbooks.Open("С:\File.xls"); |
|||
|
17
ДенисЧ
27.02.10
✎
15:16
|
(16) Дык последнюю строчку в обработке меняй...
|
|||
|
18
Старуха Шапокляк
27.02.10
✎
15:20
|
Сейчас у меня код:
Процедура Сформировать() ... //Excel.Workbooks.Open("С:\File.xls"); // так было ... КонецПроцедуры Процедура Выбрать() имя = ""; кат = КаталогИБ(); Если фс.ВыбратьФайл(0, имя, кат, "Выберите файл", "Excel files (*.xls)|*.xls") = 1 Тогда Форма.тФайл.Заголовок(кат + имя); КонецЕсли; КонецПроцедуры Что теперь писать в Процедуре Сформировать вместо строчки Excel.Workbooks.Open("С:\File.xls") ??? |
|||
|
19
FIXXXL
27.02.10
✎
15:23
|
(18) переменную модуля объяви и присвой ей полный путь до файла в Процедура Выбрать()
и считывай в Процедура Сформировать() |
|||
|
20
dk
27.02.10
✎
15:24
|
(18) как умудряешься вообще прогить?
|
|||
|
21
Старуха Шапокляк
27.02.10
✎
15:25
|
(19) Как?
(20) Вот так и мучаюсь |
|||
|
22
БТР
27.02.10
✎
15:25
|
(18) Excel.Workbooks.Open(кат + имя)
|
|||
|
23
БТР
27.02.10
✎
15:27
|
или
Excel.Workbooks.Open(Форма.тФайл.Заголовок) Если в это поле народ руками пкть вбивать будет. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |