|
|
|
Открытие файла Excel через ole | ☑ | ||
|---|---|---|---|---|
|
0
QuX
24.05.07
✎
10:33
|
Проблема в имени файла... Если оно слишком длинное то программа отказывется его находить и открывать...
Есть ли какие нибудь другие способы открыть файл в програмном модуле... |
|||
|
1
QuX
24.05.07
✎
10:40
|
Вот сам код:
Если ФС.ВыбратьФайл(0,ИмяФайла,Каталог,"Выбери файл с калькуляцией","*.xls",)=1 Тогда ИмяФайлаЗапуска=Каталог+ИмяФайла; Иначе Предупреждение("Файл не выбран. Обработка прервана."); Форма.Закрыть(0); Возврат; КонецЕсли; Попытка Эксель=СоздатьОбъект("Excel.Application"); Эксель.DisplayAlerts=0; Исключение Сообщить(ОписаниеОшибки()+"; Программа Excel не установленна на данном компьютере"); Форма.Закрыть(0); Возврат; КонецПопытки; Калк=СоздатьОбъект("Документ.Калькуляция"); Калк.Новый(); Книга=Эксель.WorkBooks.Open(ИмяФайлаЗапуска); Лист=Книга.WorkSheets(5); |
|||
|
2
Тяпкин
24.05.07
✎
10:45
|
.ВыбратьФайл(0, ИмяФайла, Каталог, "Выбери файл с калькуляцией", "Файлы формата Excel (*.xls)|*.xls", "xls") и ИмяФайлаЗапуска - Строка неограниченная - всё работает
|
|||
|
3
Тяпкин
24.05.07
✎
10:46
|
Ну и в Open(СокрЛП(ИмяФайлаЗапуска)); - обязательно
|
|||
|
4
smaharbA
24.05.07
✎
10:47
|
(0) Используй диалог ВБА
|
|||
|
5
smaharbA
24.05.07
✎
10:47
|
(3) не обязательно, это ограничение адинесины на 64 символа
|
|||
|
6
Platon
24.05.07
✎
10:47
|
(0) А что за длинное имя файла покажи
|
|||
|
7
smaharbA
24.05.07
✎
10:47
|
+(4) либо ИЕ
|
|||
|
8
QuX
24.05.07
✎
10:49
|
каким образом использовать диалог ВБА?
|
|||
|
9
Тяпкин
24.05.07
✎
10:49
|
(5) я пол дня файл открыть не мог, пока не догадался пробелы справа поудалять.
|
|||
|
10
QuX
24.05.07
✎
10:51
|
Например: "0891 Золушок-презент 18 - 72 стр 4+4,1+1 газет и обл, вкл_2100 шт.xls"
|
|||
|
11
QuX
24.05.07
✎
10:56
|
Расскажите про методы ИЕ и ВБА? Синтаксис, примеры кода...
|
|||
|
12
dk
24.05.07
✎
11:04
|
(11)
"Sub Main() 'Declare a variable as a FileDialog object. Dim fd As FileDialog 'Create a FileDialog object as a File Picker dialog box. Set fd = Application.FileDialog(msoFileDialogFilePicker) 'Declare a variable to contain the path 'of each selected item. Even though the path is a String, 'the variable must be a Variant because For Each...Next 'routines only work with Variants and Objects. Dim vrtSelectedItem As Variant 'Use a With...End With block to reference the FileDialog object. With fd 'Use the Show method to display the File Picker dialog box and return the user's action. 'The user pressed the action button. If .Show = -1 Then 'Step through each string in the FileDialogSelectedItems collection. For Each vrtSelectedItem In .SelectedItems 'vrtSelectedItem is a String that contains the path of each selected item. 'You can use any file I/O functions that you want to work with this path. 'This example simply displays the path in a message box. MsgBox "The path is: " & vrtSelectedItem Next vrtSelectedItem 'The user pressed Cancel. Else End If End With 'Set the object variable to Nothing. Set fd = Nothing End Sub" (С) VBA Help |
|||
|
13
Тяпкин
24.05.07
✎
11:04
|
(10) Точно, не найден. Похоже, максимальная длина имени, включая .xls - 110 символов.
|
|||
|
14
smaharbA
24.05.07
✎
11:05
|
Есть еще способ используя ИЕ, и есть еще комдиалог |
|||
|
15
smaharbA
24.05.07
✎
11:06
|
(13) 64
|
|||
|
16
Тяпкин
24.05.07
✎
11:11
|
(15) а самому попробовать?
|
|||
|
17
dk
24.05.07
✎
11:14
|
Про ограничение слышал, но не сталкивался.
Ограничение на Путь+Имя_файла / Путь / Имя_файла? |
|||
|
18
QuX
24.05.07
✎
11:14
|
Чего попробовать?
Я уже месяц пробую... Вот совета прошу... |
|||
|
19
QuX
24.05.07
✎
11:16
|
(16) Сорри... не посмотрел на ответ...
|
|||
|
20
Тяпкин
24.05.07
✎
11:16
|
(18)делай имена файлов покороче или переноси их в корневую папку диска.
|
|||
|
21
smaharbA
24.05.07
✎
11:24
|
(16) а че мне пробовать я и так знаю выведи сообщить и позырь что выдаст
|
|||
|
22
smaharbA
24.05.07
✎
11:25
|
на вложенность и длинну полного пути почти нет ограничения а на имя 64
|
|||
|
23
smaharbA
24.05.07
✎
11:26
|
Кстати можно сделать и более адинесовскими методами
|
|||
|
24
Тяпкин
24.05.07
✎
11:28
|
(21) У меня 1С взял строку - "C:\Documents and Settings\admin5\Мои документы\0891 Золушок-презент 18 - 72 стр 4+4,1+1 газет и обл, вкл_2.xls", длиннее не захотел.
|
|||
|
25
Тяпкин
24.05.07
✎
11:29
|
(23) Понял, важно только имя?
|
|||
|
26
smaharbA
24.05.07
✎
12:36
|
(25) да
вот вариант с ИЕ
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |