Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывод данных / 2 сообщений из 2, страница 1 из 1
12.05.2009, 01:36
    #35979500
layriona
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных
Здравствуйте! Подскажите пожалуйста, есть ли возможность в Visual Basic выводить данные в экселевский файл? Или в какой-то другой, чтобы удобно было потом распечатывать? (А то из текстового файла неудобно распечатывать).
...
Рейтинг: 0 / 0
12.05.2009, 10:12
    #35979751
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных
вывод в excel-файл
Код: plaintext
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.
Private Sub Command1_Click()
On Error Resume Next
Dim Book1 As String:    Book1 = App.Path & "\book1.xls"
Dim List1 As String:    List1 = "имя листа"

If Dir(Book1) <> "" Then
    Kill Book1
    If Err.Number <>  0  Then
        Err.Clear
        MsgBox "не могу удалить прежний " & vbCrLf & Book1
        Exit Sub
    End If
End If

On Error GoTo err1

Dim XL As Excel.Application             'Microsoft Excel ?? Object Library
Dim BK As Excel.Workbook
Dim SH As Excel.Worksheet

Set XL = New Excel.Application

XL.Application.ScreenUpdating = False
XL.Visible = False

XL.Workbooks.Add
XL.Sheets( 1 ).Name = List1
XL.Workbooks( 1 ).SaveAs (Book1)          'создадим пустой excel-файлик
    
Set BK = XL.Workbooks.Open(Book1)       'открываем для заполнения
Set SH = BK.Worksheets(List1)

'заполняем значениями
'например так
'XL.Cells(2, 1).CopyFromRecordset rst    'если есть RecordSet
'или так
SH.Cells( 2 ,  1 ) =  12345 . 67                'значение какое-нибудь

'начинаем оформлять
'так
SH.Cells( 2 ,  1 ).Font.Bold = True         'для отдельной ячейки
'и так
SH.Columns( 1 ).ColumnWidth =  15           'для всей колонки
SH.Columns( 1 ).NumberFormat = "0.00"

SH.Cells( 1 ,  1 ) = "какой-нибудь Заголовок"
SH.Rows("1:1").Font.Bold = True         'для всей строки
SH.Rows("1:1").WrapText = True
SH.Rows("1:1").HorizontalAlignment = xlCenter   ' xlRight xlLeft
SH.Rows("1:1").VerticalAlignment = xlCenter
SH.Rows("1:1").RowHeight =  60 

With SH.PageSetup
    .PrintTitleRows = "$1:$1"           'повторять при печати первую строку
    .RightHeader = "Страница &P"
End With

BK.Save
BK.Close
XL.Quit                                 'обязательно Quit, иначе excel останется в памяти
Set XL = Nothing

err1:

    If Err.Number <>  0  Then
        MsgBox Err.Description
        On Error Resume Next
        XL.Quit                         'обязательно Quit, иначе excel останется в памяти
        Set XL = Nothing
    End If

End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывод данных / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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