3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
1

Открытие листа Excel нажатием кнопки

19.05.2013, 14:36. Показов 8967. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите очень нужно сделать на форме кнопку по нажатию на которую открывался бы лист excel.
За ранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2013, 14:36
Ответы с готовыми решениями:

Открытие Excel и активация нужного листа
Ребята, подскажите как открывается книга Excel 2003 c указанного места. Наперед СПАСИБО!!!

Открытие другого файла нажатием кнопки
Здравствуйте.У меня 2 связаных файла в папке- Excel и Matchcad мне нужно,чтобы у меня при нажатии...

Открытие текстового редактора нажатием кнопки
Добрый день форумчане.Я новичок в Java, ищу ответ на такой вопрос: можно ли нажатием на JButton ...

Работа с мышью: вывести квадрат нажатием левой кнопки мыши и спрятать его нажатием правой кнопки мыши
Ребят обьясните как вывести квадрат левым нажатием кнопки мыши и спрятав его правым нажатием кнопки...

17
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.05.2013, 17:57 2
Лучший ответ Сообщение было отмечено The trick как решение

Решение

На форме кнопка и ссылка на Microsoft Excel X.0 Object Library (В меню Project -> References..., отметить Microsoft Excel X.0 Object Library)


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
Private Sub Command1_Click()
 
    Dim xlApp As Excel.Application
    Dim xlWB As Excel.Workbook
    Dim xlWS As Excel.Worksheet
 
    Set xlApp = New Excel.Application
    Set xlWB = xlApp.Workbooks.Add
    Set xlWS = xlWB.Worksheets.Add
    
'Кое-что запишем, епсли надо
    xlWS.Cells(2, 2).Value = "hello"
    xlWS.Cells(1, 3).Value = "World"
    xlApp.Visible = True
' Можно сохранить и выти
'    xlWS.SaveAS "c:\mysheet.xls"
'    xlApp.Quit
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
' Free memory
    Set xlWS = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
End Sub
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
19.05.2013, 18:04  [ТС] 3
это просто откроет мне мой лист excel и все. так ведь?

Добавлено через 4 минуты
спасибо огромное все работает
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.05.2013, 18:05 4
Это создаст новый лист, при желании, запишет туда что то, сохранит этот лист на диске( тоже при желании)
Или просто откроет новый лист.
А что надо, открыть существующий лист?
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
19.05.2013, 19:03  [ТС] 5
да у меня вот какое условие.
я занимаюсь дипломом по грузоперевозкам и вот мне надо что бы я после составления заказа открывал лист excel в котором у меня уже будет мой договор напечатан. также нужно будет в какую-то ячейку вставлять данные клиента. ясно условие?

Добавлено через 54 минуты
я знаю что в этом случае нужно работать с той же библиотекой только с ней я толком не работал я делал импорт и экспорт ячеек и не больше
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.05.2013, 19:30 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от n1ko Посмотреть сообщение
заказа открывал лист excel в котором у меня уже будет мой договор напечатан
Да, то же самое, только берем готовый лист
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Command1_Click()
 
    Dim xl As New Excel.Application
    Dim xlw As Excel.Workbook
 
    ' Открываем файл
    Set xlw = xl.Workbooks.Open("c:\myDir\book1.xls")
 
    ' Переименовать  "Sheet1"
    xlw.Sheets("Sheet1").Select
 
    ' Выбираем значение
    MsgBox xlw.Application.Cells(2, 3).Value
 
    ' Закрываем
    xlw.Close False
 
    ' Освобождаем memory
    Set xlw = Nothing
    Set xl = Nothing
 
End Sub
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
19.05.2013, 21:23  [ТС] 7
спасибо это то что я и имел в веду

Добавлено через 39 минут
еще небольшой вопросик а можно ли непосредственно с формы в вижуала печатать на принтере лист ексельчика???
это вообще облегчит роботу
буду благодарен
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.05.2013, 21:53 8
Цитата Сообщение от n1ko Посмотреть сообщение
печатать на принтере лист ексельчика???
Вставь эту строчку
Visual Basic
1
 xlw.Application.Sheets.PrintOut
После PrintOut есть куча параметров, посмотри, могут пригодиться
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
20.05.2013, 10:07  [ТС] 9
огромная просьба можно какой то самый маленький пример использования этого оператора.
в инете много написано но янашел только описание параметров а примеров толком никаких.
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
20.05.2013, 10:50 10
Цитата Сообщение от n1ko Посмотреть сообщение
самый маленький пример использования
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Command1_Click()
 
    Dim xl As New Excel.Application
    Dim xlw As Excel.Workbook
 
    ' Открываем файл
    Set xlw = xl.Workbooks.Open("c:\mysheet.xls")
    Set xlSH = xlw.Worksheets("Лист2") ' Выбираем нужный лист документа
    xlSH.PrintOut ' Печатаем выбранный лист
    ' Закрываем если надо
    'xlw.Close
    'Выходим из  excel (закроются все рабочие книги)
    'xl.Quit
    Set xlw = Nothing
    Set xl = Nothing
End Sub
Соответственно все параметры по умолчанию. Если что то надо применить, то просто пиши эти параметры после PrintOut через пробел.
1
Эксперт WindowsАвтор FAQ
18018 / 7719 / 892
Регистрация: 25.12.2011
Сообщений: 11,497
Записей в блоге: 16
20.05.2013, 11:01 11
Например,
Visual Basic
1
2
xlw.Worksheets(2).PrintOut From:=1, To:=3, Copies:=4, Preview:=False, _
    ActivePrinter:="Microsoft XPS Document Writer", PrintToFile:=False, Collate:=False, PrToFileName:=vbNullString
Печать 2-го листа от 1 до 3-й страницы с кол-вом копий - 4, без предварительного просмотра,
на принтере Microsoft XPS Document Writer (большинство параметров могут быть опущены).

Справка:
http://msdn.microsoft.com/ru-r... ntout.aspx
http://msdn.microsoft.com/en-u... 38253.aspx
http://msdn.microsoft.com/en-u... e.11).aspx
0
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
20.05.2013, 19:05  [ТС] 12
я пробовал но ничего не происходит, а если ставить какие-то параметры то вообще ничего не выходит
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
20.05.2013, 19:14 13
Цитата Сообщение от n1ko Посмотреть сообщение
я пробовал но ничего не происходит
Покажите ваш код полностью, тогда и скажу конкретно, что не так.
Свой код я проверял, всё нормально печатает.
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
20.05.2013, 21:30  [ТС] 14
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
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
68
69
70
71
72
73
74
Dim xl As New excel.Application
Dim xlw As excel.Workbook
Private Sub Command1_Click()
If a = 0 Then
With Form2.Data1
    .Recordset.AddNew
    .Recordset("Фамилия") = Text1.Text
    .Recordset("Имя") = Text2.Text
    .Recordset("Отчество") = Text3.Text
    .Recordset("Номер паспорта") = Text4.Text
    .Recordset("Телефон") = Text5.Text
    .Recordset.Update
End With
    Text1.Locked = True
    Text2.Locked = True
    Text3.Locked = True
    Text4.Locked = True
    Text5.Locked = True
Else
    Text1.Locked = True
    Text2.Locked = True
    Text3.Locked = True
    Text4.Locked = True
    Text5.Locked = True
End If
End Sub
 
Private Sub Command2_Click()
    With Form2.Data1.Recordset
    .MoveLast
    .Delete
    .MovePrevious
    End With
    Text1.Locked = False
    Text2.Locked = False
    Text3.Locked = False
    Text4.Locked = False
    Text5.Locked = False
End Sub
 
Private Sub Command3_Click()
    a = 1
    Form4.Hide
    Form2.Show
    Form2.Command1.Visible = True
    Form2.Command2.Visible = False
    Form2.Command4.Visible = False
End Sub
 
Private Sub Command4_Click()
'печать листа
Set xlw = xl.Workbooks.Open("D:\DP2013\dog.xls")
xlw.Sheets("Лист1").Select
xlw.PrintOut
End Sub
 
Private Sub Command5_Click()
    'oткрытие екселя
    Set xlw = xl.Workbooks.Open("D:\DP2013\dog.xls")
    'выбор листа
    xlw.Sheets("Лист1").Select
    'запись данных
    xlw.Application.Cells(1, 1).Value = Text1.Text
    xlw.Application.Cells(1, 2).Value = Text2.Text
    xlw.Application.Cells(1, 3).Value = Text3.Text
    'показ екселя
    xl.Visible = True
    Set xlw = Nothing
    Set xl = Nothing
End Sub
 
Private Sub Form_Load()
a = 0
End Sub
Добавлено через 1 минуту
последние 2 кнопки на одной печать а на другой заполнение ячеек

Добавлено через 6 минут
еще что хотел спросить. как мне задать абсолютный путь в поточной папке а не прописывать весь
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
20.05.2013, 22:23 15
На печать - работает.

Абсолютный путь - в зависимости от того, где документ. Если в папке с программой, то используйте
Visual Basic
1
Set xlw = xl.Workbooks.Open(App.Path & "\mysheet.xls")
1
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
20.05.2013, 22:59  [ТС] 16
точно огромное спасибо а что на счет печати?
оно мне не пропускает параметр предварительного просмотра

Добавлено через 26 минут
а печать идет без указания определенного принтера?
просто одним оператором без параметров?
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.05.2013, 07:16 17
Цитата Сообщение от n1ko Посмотреть сообщение
а печать идет без указания определенного принтера?
просто одним оператором без параметров?
По умолчанию. Применяются все настройки, которые были у принтера до этого
Можно включить выбор - настройку принтера
Visual Basic
1
2
3
4
5
6
7
' Настройка принтера
    With xl
         .EnableEvents = False
         'Здесь Вы можете выполнить нужные действия
         .Dialogs(xlDialogPrint).Show Arg4:=1, Arg12:=1
         .EnableEvents = True
    End With
Предпросмотр печати можно ещё так включить
Visual Basic
1
2
3
4
5
6
' Предпосмотр
    With xl
         .EnableEvents = False
         .ActiveSheet.PrintPreview
         .EnableEvents = True
    End With
Но если не работает первый способ ( где аргументы для PrintOut, то и этот вряд ли заработает)
2
Заблокирован
21.05.2013, 07:54 18
Pro_grammer,

Не по теме:

Стал развернутей отвечать на вопросы, должность меняет людей и взгляды. :)

0
21.05.2013, 07:54
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2013, 07:54
Помогаю со студенческими работами здесь

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

Открытие конкретного листа другого файла путем нажатия кнопки
Добрый день, помогите сделать кнопку "Сотрудники"(раньше она была назначена на открытие файла...

Нажатием кнопки сделать текст жирным, повторным нажатием - обычным
здравствуйте. такой вопрос , как сделать, чтобы при нажатии кнопки текст печатался жирным, при...

Можно ли нажатием "кнопки" сделать некоторое количество копий листа "INVOICE"
Хотелось бы макрос так скажем в листе Алюминий буду добавлять данные, например новую строку добавил...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

Новые блоги и статьи
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru