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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 14:50   #1
katrina-n
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 51
Вопрос открытие файла excel vba

Здравствуйте, уважаемые участники форума!

подскажите, пожалуйста, код vba для открытия файла .xls!
заранее спасибо.
katrina-n вне форума Ответить с цитированием
Старый 31.03.2011, 14:56   #2
katrina-n
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

на Application.Workbooks.OPEN("путь к файлу") отвечает:compile error:method or data member not found
katrina-n вне форума Ответить с цитированием
Старый 31.03.2011, 15:13   #3
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Цитата:
Сообщение от katrina-n Посмотреть сообщение
Здравствуйте, уважаемые участники форума!

подскажите, пожалуйста, код vba для открытия файла .xls!
заранее спасибо.
Почитайте здесь
http://www.askit.ru/custom/vba_offic...ook_object.htm
madex вне форума Ответить с цитированием
Старый 31.03.2011, 15:39   #4
katrina-n
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

Здравствуйте, madex!

попробовала код:
Dim oWbk As Workbook

Set oWbk = WorkBooks.Open("C:\mybook1.xls")

после открытия этого файла .xls появляется сообщение "этот файл уже используется" и возможно только редактирование.
katrina-n вне форума Ответить с цитированием
Старый 31.03.2011, 16:04   #5
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Цитата:
Сообщение от katrina-n Посмотреть сообщение
Здравствуйте, madex!

попробовала код:
Dim oWbk As Workbook

Set oWbk = WorkBooks.Open("C:\mybook1.xls")

после открытия этого файла .xls появляется сообщение "этот файл уже используется" и возможно только редактирование.
Такое бывает когда книга в которой вы вставили этот код VBA имеет такое же имя. т.е. вы пытаетесь открыть уже открытый файл. Создайте файл mybook2.xls и пропишитк к нему путь в книге mybook1.xls. Не напутайте имена, пути(ВеРхНий реестр надо учитывать). и все получится
madex вне форума Ответить с цитированием
Старый 31.03.2011, 16:40   #6
katrina-n
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

спасибо! но как тогда закрыть этот же файл?
Dim oWbk As Workbook

Set oWbk = WorkBooks.Close("C:\mybook1.xls")
не работает.


и ещё возникла проблема: после процедуры открытия располагается следующее:
Set xls = GetObject("C:\Users\Åêà\Desktop\Äîì àøíàÿ áàçà\áä.xls ") 'запуск макроса
xls.Application.Run "áä.xls!Îïòèìèçàöèÿ_øèõòû"
xls.Application.Quit

это макрос на запуск поиска решения.То есть получается, что поиск решения выполняется сразу после открытия книги.

Появляется сообщение excel "недопустимое количество параметров".
При ручном открытии книги и запуске данного макроса все работает корректно. возможно необходимо добавить таймер?
katrina-n вне форума Ответить с цитированием
Старый 31.03.2011, 16:47   #7
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Что то вообще непонятно что зачем надо открывать потом закрывать. Напишите логику по пунктам.
1 открыто это
2 запуск макроса открывающее то
итд.
И приложите пример
madex вне форума Ответить с цитированием
Старый 31.03.2011, 17:04   #8
katrina-n
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

Имеется БД в Access. Необходимо провести оптимизацию (минимизировать расходы на производство готовой продукции).

Сначала открываем форму "Проба_добавление_плавки_Н", выбираем продукцию и нажимаем кнопку "Оформить плавку", которая добавляет записи в таблицу БД и экспортирует данные об этой продукции в файл "бд.xls".

Затем нажимаем кнопку "Перейти к оформлению шихтовой карты", которая открывает форму "Проба_добавление_ШК_Н", в которой расположена кнопка, в процедуре обработки которой записано:

Private Sub Кнопка26_Click()
DoCmd.OpenQuery "Экспорт_лома" (записи об имеющихся на складе материалах из таблицы экспортируются в Excel)
Dim oWbk As Workbook

Set oWbk = Workbooks.Open("C:\Users\Åêà\Deskto p\Äîìàøíàÿ áàçà\áä.xls")
Set xls = GetObject("C:\Users\Åêà\Desktop\Äîì àøíàÿ áàçà\áä.xls ")
xls.Application.Run "Оптимизация_шихты" (выполняется поиск решения)
xls.Application.Quit


End Sub


Без открытой книги бд.xls макрос не работает
Вложения
Тип файла: zip бд.zip (871.3 Кб, 33 просмотров)

Последний раз редактировалось katrina-n; 31.03.2011 в 17:11.
katrina-n вне форума Ответить с цитированием
Старый 31.03.2011, 17:09   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Закрыть:
Код:
oWbk.Close 0 'или 1 или True/False - это сохранить изменения/не сохранять изменения
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 31.03.2011, 17:28   #10
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Цитата:
Сообщение от katrina-n Посмотреть сообщение
Имеется БД в Access. Необходимо провести оптимизацию (минимизировать расходы на производство готовой продукции).

Сначала открываем форму "Проба_добавление_плавки_Н", выбираем продукцию и нажимаем кнопку "Оформить плавку", которая добавляет записи в таблицу БД и экспортирует данные об этой продукции в файл "бд.xls".

Затем нажимаем кнопку "Перейти к оформлению шихтовой карты", которая открывает форму "Проба_добавление_ШК_Н", в которой расположена кнопка, в процедуре обработки которой записано:

Private Sub Кнопка26_Click()
DoCmd.OpenQuery "Экспорт_лома" (записи об имеющихся на складе материалах из таблицы экспортируются в Excel)
Dim oWbk As Workbook

Set oWbk = Workbooks.Open("C:\Users\Åêà\Deskto p\Äîìàøíàÿ áàçà\áä.xls")
Set xls = GetObject("C:\Users\Åêà\Desktop\Äîì àøíàÿ áàçà\áä.xls ")
xls.Application.Run "Оптимизация_шихты" (выполняется поиск решения)
xls.Application.Quit


End Sub


Без открытой книги бд.xls макрос не работает
Только я так вижу пути?

Set oWbk = Workbooks.Open("C:\Users\Åêà\Deskto p\Äîìàøíàÿ áàçà\áä.xls")
Application.OnTime Now + TimeValue("00:00:10"), "name"
End Sub

Сделайте эти команды другим макросом назовите его например name
Set xls = GetObject("C:\Users\Åêà\Desktop\Äîì àøíàÿ áàçà\áä.xls ")
xls.Application.Run "Оптимизация_шихты" (выполняется поиск решения)
xls.Application.Quit
Будет вам запуск по времени. А вообще почитайте что есть в поисковике, похожего, потому что конечная задача для меня смутна.
Изображения
Тип файла: jpg ScreenHunter_01 Mar. 31 17.16.jpg (18.7 Кб, 601 просмотров)

Последний раз редактировалось madex; 31.03.2011 в 17:42.
madex вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие файла .doc с помощью VBA ruavia3 Microsoft Office Excel 19 03.03.2015 15:22
открытие файла csv в excel Luchiya Microsoft Office Excel 4 15.12.2010 14:21
открытие файла Excel Deni55 Общие вопросы Delphi 3 15.06.2009 15:30
Открытие файла excel в ворде mistx Microsoft Office Word 27 29.04.2009 13:16
Условие на открытие файла Excel Hant Microsoft Office Excel 2 07.05.2008 13:36