Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при открытии файла Excel с xlApp.Visible = False / 25 сообщений из 31, страница 1 из 2
16.04.2019, 12:27
    #39802024
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Суть такова, есть программа экспорта данных в access, но открытия файла с xlApp.Visible = False не происходит, выдает ошибку, но при замене значения на True все работет как надо (естественно, пока открыто окно экселя).
Код программы такой:

Код: vbnet
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Dim fDialog As Office.FileDialog
Dim varFile As Variant
'Dim xlApp As Object  xlWB As Object, xlSheet As Object
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim val As Variant, tt As String
Dim prNum As String, subjCode As String, expertCode As String, EGEDate As String

Dim score As Variant, a As String, aa As String
Dim i As Integer, j As Integer, k As Integer
Dim rsCheck As Recordset

    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = False

   ' Set up the File Dialog.
   Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

   With fDialog

      ' Allow user to make multiple selections in dialog box
      .AllowMultiSelect = False
            
      ' Set the title of the dialog box.
      .Title = "Выберите файл протокола"

      ' Clear out the current filters, and add our own.
      .Filters.Clear
      .Filters.Add "Excel files", "*.xlsx"
      .Filters.Add "Excel files", "*.xls"

     If .Show = True Then

         'Loop through each file selected and add it to our list box.
         For Each varFile In .SelectedItems
            filetoOpen = varFile
         Next

      Else
         'MsgBox "You clicked Cancel in the file dialog box."
         GoTo end_
      End If
   End With

'xlApp.Visible = True
'xlApp.Visible = False


Set xlWB = xlApp.Workbooks.Open(filetoOpen)
Set xlSheet = xlWB.Worksheets(1)

'Бла-бла-бла (чтение ячеек)

xlWB.Close True
MsgBox ("Из файла считано " & (i - 5) & " результатов.")

end_:

xlApp.Quit
Set xlApp = Nothing

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
16.04.2019, 12:32
    #39802028
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PVвыдает ошибкунам нужно угадать текст ошибки?
...
Рейтинг: 0 / 0
16.04.2019, 13:13
    #39802073
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro,
Method 'Open' of object 'workbooks' failed

Суть в том, что любые операции открытия без истинного визибла не работают. Я уже хренову тучу вариантов перепробовал, по синтаксису и правилам ошибок нет, но пиши тру хоть ты тресни, а мне это крайне не удобно.
...
Рейтинг: 0 / 0
16.04.2019, 13:19
    #39802081
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Думаю, что тут нужно уточнить, раньше код использовался на MS Office 2013 по Вин8.1 (32 бита) и работал он в обоих случаях, но т.к. компьютер сдыхал, то был установлен новый компьютер пот Вин10 (64 бита) и MS Office 2016.
...
Рейтинг: 0 / 0
16.04.2019, 13:23
    #39802089
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PVСуть в том, что любые операции открытия без истинного визибла не работают1) Правильно ли я понял, что если весь этот код в тестовых целях выкинуть, оставить только создание экземпляра экселя и Open ЛЮБОГО ФАЙЛА (пустого, например) - все равно ошибка?
2) Что будет, если на этой машине проделать то же самое из Ворда?
3) В случае, когда открытие идет при видимом экселе, появляются ли какие-то дополнительные сообщения, например о безопасности, конвертации или еще чего-нить.
...
Рейтинг: 0 / 0
16.04.2019, 13:48
    #39802113
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro,
1)ты правильно понял
2) Ворд это отдельная песня (Excel.Application он не любит даже при создании переменной)
3) Нет, ничего, что не должно появляться
...
Рейтинг: 0 / 0
16.04.2019, 14:00
    #39802123
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PV2) Ворд это отдельная песня (Excel.Application он не любит даже при создании переменной)Первый раз слышу. Ворд прекрасно работает с объектом экселя и наоборот. Так что рекомендую просто попробовать.
Vaas-PV3) Нет, ничего, что не должно появлятьсяНу так я же спрашиваю, что появляется в принципе. Потому что если это диалоговое окно, могут быть проблемы
...
Рейтинг: 0 / 0
16.04.2019, 14:12
    #39802135
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro, смотри,все, что мне показывается, это обычные диалоговые окошки, появление которых прописывается программой через if, для заполнения обязательных полей если они оказались пустыми, это нормально и так и должно быть. На тестилке я их вообще удалил.
Сейчас, на время я сделал такой вариант, чтобы не мешало окно (как раз таки из-за этих диалоговых окон), мерцать-мерцает, но хотябы все видно.
Т.е. проблема именно в False перед "Set xlWB = xlApp.Workbooks.Open(filetoOpen)"

Код: vbnet
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
Private Sub ÈìïîðòExcel_Click()

Dim fDialog As Office.FileDialog
Dim varFile As Variant
'Dim xlApp As Object  xlWB As Object, xlSheet As Object
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim val As Variant, tt As String
Dim prNum As String, subjCode As String, expertCode As String, EGEDate As String

Dim score As Variant, a As String, aa As String
Dim i As Integer, j As Integer, k As Integer
Dim rsCheck As Recordset

    'Set xlApp = New Excel.Application
    'Application.Visible = False
    Set xlApp = CreateObject("Excel.Application")

   ' Set up the File Dialog.
   Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

   With fDialog

      ' Allow user to make multiple selections in dialog box
      .AllowMultiSelect = False
            
      ' Set the title of the dialog box.
      .Title = "Âûáåðèòå ôàéë ïðîòîêîëà"

      ' Clear out the current filters, and add our own.
      .Filters.Clear
      .Filters.Add "Excel files", "*.xlsx"
      .Filters.Add "Excel files", "*.xls"

      ' Show the dialog box. If the .Show method returns True, the
      ' user picked at least one file. If the .Show method returns
      ' False, the user clicked Cancel.
      If .Show = True Then

         'Loop through each file selected and add it to our list box.
         For Each varFile In .SelectedItems
            filetoOpen = varFile
         Next

      Else
         'MsgBox "You clicked Cancel in the file dialog box."
         GoTo end_
      End If
   End With

xlApp.Visible = True


Set xlWB = xlApp.Workbooks.Open(filetoOpen)
xlApp.Visible = False


xlWB.Close True
MsgBox ("Èç ôàéëà ñ÷èòàíî " & (i - 5) & " ðåçóëüòàòîâ.")

end_:

xlApp.Quit
Set xlApp = Nothing

End Sub
...
Рейтинг: 0 / 0
16.04.2019, 14:19
    #39802147
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Нафиг тут эти простыни? Есть код
Код: vbnet
1.
2.
3.
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlWB = xlApp.Workbooks.Open("c:\1.xls")

Какие диалоговые окна появляются при его выполнении?
...
Рейтинг: 0 / 0
16.04.2019, 14:27
    #39802155
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro, если все вызовы убрать, то никаких. Исходник при таком коде тоже работает нормально и все считывает корректно. Но открывать в режиме невидимости не хочет принципиально. Т.е. если хочешь открыть, то будь добр установи Visible на истину. А после этого ему вообще все равно, будешь ты скрывать или нет. Что за магия я вообще не понимаю. Пробовал и другие варианты функции Open, но все стабильно точно так же.
...
Рейтинг: 0 / 0
16.04.2019, 14:32
    #39802161
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Код: vbnet
1.
2.
Set xlApp = CreateObject("Excel.Application")
Set xlWB = xlApp.Workbooks.Open("c:\1.xls")

этот код, запущенный из ворда, также приводит к ошибке Method 'Open' of object 'workbooks' failed?
...
Рейтинг: 0 / 0
16.04.2019, 14:33
    #39802162
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Proэтот код, запущенный из ворда, также приводит к ошибке Method 'Open' of object 'workbooks' failed?при том, что "c:\1.xls" - тупо пустой файл
...
Рейтинг: 0 / 0
16.04.2019, 14:33
    #39802163
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Т.е. если в этих трёх строках заменить True на False - то ошибка?
...
Рейтинг: 0 / 0
16.04.2019, 14:34
    #39802168
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Akina, да
...
Рейтинг: 0 / 0
16.04.2019, 14:48
    #39802194
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro, да, да и еще раз да. Если не задавать визибл = тру, то это всегда так и везде. можно скрывать после открытия, но нельзя до. Сколько раз мне еще объяснить, что все работает, но только без скрытия перед открытием?
...
Рейтинг: 0 / 0
16.04.2019, 15:17
    #39802218
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Мдя. Ну дальше разве что пробовать поставить в виртуалку
Vaas-PVВин10 (64 бита) и MS Office 2016.и проверить поведение. И/или попробовать переустановить офис.

Кстати, а что насчет создания новой книги вместо попытки открытия старой?
...
Рейтинг: 0 / 0
16.04.2019, 15:29
    #39802228
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro, конкретно с экселем не пробовал, но вба, используемые для нарезки других баз на части и создания ртф и пдф фалов, работают нормально. Правда базовый код совсем другой.
...
Рейтинг: 0 / 0
16.04.2019, 15:49
    #39802242
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Shocker.Pro, пока без виртуалки обойдусь, топорное решение есть, сойдет, пока не разберусь. Но, если в ближайшем будущем мне таки придется ставить виртуалку (есть такая вероятность), то буду тестить обязательно.
Кстати, думаю погонять еще на паре компьютеров погонять, может найду какую-нибудь закономерность, авось проще будет.
...
Рейтинг: 0 / 0
16.04.2019, 15:51
    #39802245
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PV,

А если после
Код: vbnet
1.
2.
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False


поставить еще это:
Код: vbnet
1.
xlApp.Displayalerts = false


заработает?
Я к чему - возможно, при попытке открытия книги появляется диалоговое окно запроса обновления связей, ввода пароля, может невозможности его чтения и т.п. И это окно требует от Вас действия. А т.к. его не происходит - то выбивает ошибку.
...
Рейтинг: 0 / 0
16.04.2019, 16:05
    #39802253
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
The_Prist, не, без толку, убрать операцию визибл перед открытием было одной из первых идей. Просто, за каким-то лешим нужен тру.
...
Рейтинг: 0 / 0
17.04.2019, 09:39
    #39802505
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PV убрать операцию визибл перед открытием было одной из первых идейПри чем здесь это? Я совсем другое предложил, вообще-то.
...
Рейтинг: 0 / 0
17.04.2019, 12:08
    #39802673
Vaas-PV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
The_Prist, алертов так и так нет, поэтому это ни на что не влияет, тоже проверял.
...
Рейтинг: 0 / 0
17.04.2019, 17:23
    #39802987
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Подтвержаю истинность слов Т.С.

Сами с таким столкнулись ((( Сначала грешили на update Excel2010, потом грешили на СЭД Док Визион.

В чем точно причина, не знаем.

пришлось в момент open документа ставить true и потом обратно менять в false
...
Рейтинг: 0 / 0
17.04.2019, 20:04
    #39803034
Флексей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Vaas-PV,

так судя по всему использование диалогового окна Office.FileDialog и требует Visible=True
...
Рейтинг: 0 / 0
17.04.2019, 20:07
    #39803036
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при открытии файла Excel с xlApp.Visible = False
Флексей, прочтите топик... (
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при открытии файла Excel с xlApp.Visible = False / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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