Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/124: Рейтинг темы: голосов - 124, средняя оценка - 4.94
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
1

Открытие Excel и активация нужного листа

10.06.2011, 19:26. Показов 25260. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, подскажите как открывается книга Excel 2003 c указанного места.
Наперед СПАСИБО!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2011, 19:26
Ответы с готовыми решениями:

Открытие листа Excel нажатием кнопки
Помогите очень нужно сделать на форме кнопку по нажатию на которую открывался бы лист excel. За...

Активация нужного рабочего листа
Добрый день! Господа! Нужна ваша помощь, вот код: Dim exсеl_арр Аs Оbjесt Dim excel_sheet As...

Открытие листа excel через кнопку
Разобраться не могу. Множество форумов прочитал, нужной информации не нашел. 1. Необходимо через...

Запуск макроса (написанного для актив. нужного листа) с др. листа (сложно)
Подскажите пожалуйста, есть большие макросы которые работают на активном листе, существует какой-то...

11
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
11.06.2011, 17:38 2
Лучший ответ Сообщение было отмечено The trick как решение

Решение

в ВБА так:
Visual Basic
1
2
3
4
Set oExcel = CreateObject("Excel.Application") 'создать объект Microsoft Excel
oExcel.Workbooks.Open "D:\Рабочая папка\" & Имя_файла, , , , "111", "11" '111 это пароль на открытие файла, 11 это пароль на изменеие
'oExcel.Workbooks.Open "D:\Рабочая папка\" & Имя_файла, , , ,111, 11 '111 это пароль на открытие файла, 11 это пароль на изменеие
oExcel.Visible = True 'False
Неужели в ВБ не так?? проверьте, отпишитесь, ОК??
0
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
13.06.2011, 22:52  [ТС] 3
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Неужели в ВБ не так?? проверьте, отпишитесь, ОК??
Всё так. Только я, пока, чайник и совсем недавно начал изучать язык программирования, а тут ещё по работе нужно было... Короче получилось, но открывает не из всех папок. С некоторых папок выдаёт ошибку, что нету доступа. Если знаете в чем проблема, отпишите пожалуйста. А пока, очень благодарен за помощь!!!

Добавлено через 23 минуты
В принципе разобрался с открытием, но тут проблема дальше
Visual Basic
1
2
3
4
5
6
7
8
 Private Sub Command1_Click()
Set oExcel = CreateObject("Excel.Application") 'ñîçäàòü îáúåêò Microsoft Excel
oExcel.Workbooks.Open "C:\111\AIC_SIP" & AIC_SIP, , , , 111, 11 '111 ýòî ïàðîëü íà îòêðûòèå ôàéëà, 11 ýòî ïàðîëü íà èçìåíåèå
oExcel.Visible = True 'False
 Windows("AIC_SIP.xls").Activate 'àêòèâàöèÿ ìîåãî ôàéëà
 Range("A1:C3").Select 'âûáèðàþ äèàïàçîí ÿ÷ååê
    Selection.Copy 'êîïèðóþ
   End Sub
Выдаёт ошибку и что хочешь делай. Подскажите пожалуйста как активизировать тот лист и работать в нём (я так понимаю, нужно WorkSheets сделать активным, а не всю книгу) . Или ещё попроще, может после открытия книги, можно как то запустить макрос написанный уже в Excel, а там уже на много проще?
0
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
14.06.2011, 23:23  [ТС] 4
Я очень прошу, помогите с задачкой: 1) та что нужно, книга открылась. 2) Нужно скопировать с этой книги диапазон ячеек 3) вставить в другой файл ексель этот диапазон.
Ну честно, очень нужно!!!
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
14.06.2011, 23:45 5
вижу что файл
Цитата Сообщение от S_e_m Посмотреть сообщение
"AIC_SIP.xls"
в то же время вижу
Цитата Сообщение от S_e_m Посмотреть сообщение
"C:\111\AIC_SIP" & AIC_SIP, , , , 111, 11 '111 это пароль на открытие файла, 11 это пароль на изменеие
нестыковка
а это читали:
'111 это пароль на открытие файла, 11 это пароль на изменеие
Вы что тоже создали файл с такими паролями?? плагиат какой-то, деньги автору пароля??? ))
0
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
15.06.2011, 00:01  [ТС] 6
Так открывается с этими паролями и без них. Загвоздка в том, что я дальше хочу выделить какой-то диапазон ячеек и копировать их, а мне выдает ошибку на: Range ("A8:C7").Select Ощущение, что книга "AIC_SIP" активна (потому что окрыта), а Лист1 не активный и не хочет с ним контачить.
Спасибо что отозвались (ещё раз)
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
15.06.2011, 00:05 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от S_e_m Посмотреть сообщение
Ребята, подскажите как открывается книга Excel 2003 c указанного места.
Наперед СПАСИБО!!!
Это решено???????? и ладно ...
здесь
Visual Basic
1
2
3
Windows("AIC_SIP.xls").Activate 'активация моего файла
 Range("A1:C3").Select 'выбираю диапазон ячеек
    Selection.Copy 'копирую
в переди пробуйте добавлять oExcel.
то есть как Вы здесь обращались:
Visual Basic
1
oExcel.Visible = True 'False
1
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
15.06.2011, 00:31  [ТС] 8
Я уже на пике восторга
Получилось, как Вы сказали. Вот так
Visual Basic
1
2
3
4
5
6
7
8
9
10
Set oExcel = CreateObject("Excel.Application") 'создать объект Microsoft Excel
oExcel.Workbooks.Open "C:\Documents and Settings\S_e_m\Рабочий стол\AC_SIP\222" & xls 'открываю книгу 222
oExcel.Visible = True 'False
 
 oExcel.Range("B5:E13").Select 'выбираю диапазон ячеек
    oExcel.Selection.Copy 'копирую
oExcel.Workbooks.Open "C:\Documents and Settings\S_e_m\Рабочий стол\AC_SIP\111" & xls 'открываю другую книгу 111
oExcel.Visible = True 'False
oExcel.Range("A1").Select 'Выделил стартовую ячейку
    oExcel.ActiveSheet.Paste 'Вставил
Это для примера, может комуто и понадобится.
Но всегда есть но... Дальше у меня куча строк с заданием (макрос короче написан). Мне что, перед каждой командой ставить oExcel?

Добавлено через 9 минут
Всё!!! Получилось. Строка
Visual Basic
1
oExcel.Application.Run "'111.xls'!Ìàêðîñ1"
сделала свою работу. А Вам, Ципихович Эндрю, очень БОЛЬШОЕ СПАСИБО за помощь!!!
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
15.06.2011, 09:28 9
Цитата Сообщение от S_e_m Посмотреть сообщение
Мне что, перед каждой командой ставить oExcel?
если обращаетесь к этому обекту тогда КОНЕЧНО перед каждой командой ставить oExcel!!!!!
0
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
22.04.2015, 23:12  [ТС] 10
С ВБ 6.0 закончил. Перекинулся на ВБ .Нет 2010 (по работе надо). Никак не получается с таким кодом->
Visual Basic
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
  Dim exl As Object
    Dim xlUp As Object
    Dim Selection As Object
    Dim xlDown As Object
    Dim xlAscending As Object
    Dim xlGuess As Object
    Dim xlTopToBottom As Object
    Dim xlSortNormal As Object
 
    Sub Ned_Poriv()
        exl = CreateObject("excel.application")
        exl.Workbooks.Open(Filename:="C:\Documents and Settings\Сем\Рабочий стол\Excel.xls")
        exl.Sheets("Період2").Select()
        exl.visible = True
 
     
        exl.Sheets("71010000").Select()
        exl.Cells.Select()
        exl.Selection.Delete(Shift:=xlUp)
        exl.Sheets("Період1").Select()
        exl.Cells.Select()
        exl.Selection.Copy()
        exl.Sheets("71010000").Select()
        exl.Cells.Select()
        exl.ActiveSheet.Paste()
        exl.Rows("1:1").Select()
        exl.Range(Selection, Selection.End(xlDown)).Select()
        exl.Application.CutCopyMode = False
        exl.Selection.Sort(Key1:=Range("E1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal)
        'oExcel.Workbooks.Add()
        'oExcel.Sheets.Add.Name = ComboBox1.Text 
    End Sub
End Module
После запуска в конце строки 27 выдаёт ошибку ----Object variable or With block variable not set.---
Также в 29 строке Range Ошибка 1 "System.Data.Range" в этом контексте недоступен, так как является "Friend".
0
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
23.04.2015, 17:31 11
Посмотрите это:

Обработка активной книги Excel
0
2 / 2 / 0
Регистрация: 29.05.2011
Сообщений: 40
24.04.2015, 15:59  [ТС] 12
Ничего не помогает. Не получается у меня сортировка. Уже кучу сайтов перелазил - не могу разобраться.
0
24.04.2015, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2015, 15:59
Помогаю со студенческими работами здесь

Как задать соответствие одних значений, одного листа Excel, значениям другого листа Excel
Есть лист Excel ,значения в нем постоянны и находятся на одном месте (в одном столбце и в одной...

Активация листа
Доброго времени суток форумчане. Помогите заставить работать ниже приведенный код. Сразу уточнюсь...

активация листа по значению ComboBox
Здравствуйте, столкнулся с проблемой как перейти на лист=ComboBox.value? Workbooks.Open...

Поиск нужного листа и затем уже в листе
Всем доброго времени. Прошу помощи при решении следующей задачи. Есть книга с 20 (может быть как...

Считать данные с листа EXCEL в Listview. Выбор листа в Combobox
Как считать с листа Excel - где его имя - выбранное значение из combobox. Если я правильно понял то...

При создании нового листа произвести проверку на существование вводимого имени листа в текущей книге EXCEL
При создании нового листа, произвести проверку на существование вводимого имени листа в текущей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru