powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть файд *.xls из VBA
22 сообщений из 22, страница 1 из 1
Открыть файд *.xls из VBA
    #32147114
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это можно сделать.
Я что-то в ступор вошел.

Может кто знает.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147138
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
/topic/28481\r
/topic/29904
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147143
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ругается на первую же строку
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147150
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А в References добавили, что было сказано?
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147157
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь добавил, но все равно пишет

Subscript out of range

Dim WB As Excel.Workbook, WS As Excel.Worksheet
Set WB = Excel.Workbooks.Open("c:\Report1.xls")
Set WS = WB.Worksheets(8)
WS.Cells(2, 5) = 666
WB.Close
WB.Save
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147159
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
На какой строке он это пишет? Той, где Set WS = WB.Worksheets(8)? А у Вас действительно есть 8? Это только пример, программу Вам надо свою писать...
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147160
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там коллекция нумеруется с нуля, значит 9-го листа-то и нет :(
печально, но факт...
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147166
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3 это сколько листов. Это я понял

А последние 3 что такое.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147171
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощенья, но пора уходить.

Спасибо са поддержку.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147213
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: plaintext
1.
2.
> Я что-то в ступор вошел. ( 1 )
> А последние  3  что такое. ( 2 )
> Прошу прощенья, но пора уходить. ( 3 )


Когда вернетесь из (1) и (3), будьте добры, скажите: что Вы имели в виду под (2)?
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147384
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда отрабатывает скрипт, я приложения не вижу, только вопрос:

Сохранить изменеия?

А когда отключаю WB save и close вообще ничего не происходит.

Поэтому и спрашиваю, какая роль последних трех строк.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147396
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местами их менять не пробовал?
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147404
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал

Dim WB As Excel.Workbook, WS As Excel.Worksheet
Set WB = Excel.Workbooks.Open("c:\Report1.xls")
Set WS = WB.Worksheets(1)
WS.Cells(2, 5) = 666
WB.Save
WB.Close

Теперь никаких сообщений, никаких приложений.

Как открыть этот долбанный файл?
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147411
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Когда отрабатывает скрипт, я приложения не вижу

Код: plaintext
1.
2.
3.
4.
Dim xl  As Excel.Application
Set xl = CreateObject( "Excel.Application" )
xl.Visible = True  '< ----
 
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147425
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так написал:

Dim xl As Excel.Application
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Dim WB As Excel.Workbook, WS As Excel.Worksheet
Set WB = Excel.Workbooks.Open("c:\Report1.xls")
Set WS = WB.Worksheets(1)
WS.Cells(2, 5) = 666
WB.Save
WB.Close

1 раз отработал.
Затем открывается Excel пустой. При этом показывается окно о не нахождении сервера. БРЕД!
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147439
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set WB = xl .Workbooks.Open("c:\Report1.xls")

У меня так все работает
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147443
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim xl As Excel.Application
Set xl = CreateObject("Excel.Application")
Открыли приложение
xl.Visible = True
Сделали его видимым
Dim WB As Excel.Workbook, WS As Excel.Worksheet
Set WB = Excel.Workbooks.Open("c:\Report1.xls")
Открыли файл
Set WS = WB.Worksheets(1)
WS.Cells(2, 5) = 666
Ввели значение в ячейку Е2 на первом рабочем листе
(листы нумеруются не с 0, а с 1!)
WB.Save
Сохранили файл
WB.Close
Закрыли файл (кстати, проще вместо этих двух строк написать
WB.Close 1 (закрыть с сохранением)

А приложение-то висит! Отсюда и ошибки!
xl.Quit и Set xl = Nothing должно помочь.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147483
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо - работает.
Вот только столкунулся вот с чем:

Экспортирую таблицу в Excel с 5 колонками и тутже открываю для простмотра - работает

Затем изменяю таблицу и в ней 7 колонок. Вываливается ошибка.

Помогите разобраться:

Dim stDocName As String
DoCmd.SetWarnings False
stDocName = "Запрос1"
DoCmd.OpenQuery stDocName
stDocName = "Запрос2"
DoCmd.OpenQuery stDocName
DoCmd.SetWarnings True
__________________________________________
DoCmd.TransferSpreadsheet acExport, 5, _
"Таблица1", "C:\Report1.xls", True
__________________________________________

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Report1.xls")
Set xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
'xlApp.Quit
'Set xlApp = Nothing
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147552
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то хотелось бы еще знать где и какая ошибка вываливается...
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147563
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка:

Too many Fields defined

на строку

__________________________________________
DoCmd.TransferSpreadsheet acExport, 5, _
"Таблица1", "C:\Report1.xls", True
__________________________________________

Это при условии, что в экспортируемой таблице колонок больше, чем в существующем файле Report1.xls.
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147662
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сам файл, кроме этой таблицы, нужен?
Если нет, то можно предварительно его прибить:
If Dir("C:\Report1.xls")<>"" Then Kill "C:\Report1.xls"
...
Рейтинг: 0 / 0
Открыть файд *.xls из VBA
    #32147832
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно хотелось бы файл не убивать, так как в нем один раз шаблон настроил и все.

Еще мысли есть?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть файд *.xls из VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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