Total Tayangan Halaman

W E L C O M E

Selasa, 29 Maret 2011

Cara mengotomatisasi Microsoft Excel dari Visual Basic

Ada dua cara untuk mengontrol server Otomatisasi: dengan menggunakan ikatan terbaru atau ikatan lama. Dengan ikatan terbaru, metode tidak dibatasi hingga pengoperasian dan server Otomatisasi dinyatakan sebagai Objek. Dengan ikatan lama, aplikasi Anda mengetahui pada waktu-desain jenis tepat dari objek yang akan berkomunikasi, dan dapat menyatakan objeknya sebagai jenis khusus. Sampel ini menggunakan ikatan lama, yang dianggap lebih baik dalam banyak kasus karena memberikan performa yang lebih baik dan jenis keamanan yang lebih baik.

Untuk ikatan awal pada server Otomatisasi, Anda harus mengatur referensi pada perpustakaan jenis server tersebut. Dalam Visual Basic, ini dilakukan melalui kotak dialog Referensi yang ditemukan di bawah menu Projek | Referensi. Untuk sampel ini, Anda harus menambah referensi ke perpustakaan jenis untuk Excel sebelum Anda dapat menjalankan kode. Baca langkah di bawah ini mengenai cara menambah referensi.

Membuat Sampel Otomatisasi

1. Mulai Visual Basic dan buat projek Standard EXE yang baru. Form1 dibuat secara default.
2. KlikProjek kemudian klik Referensi. Kotak dialog Referensi muncul. Gulir daftar ke bawah hingga Anda menemukan perpustakaan objek Microsoft Excel, kemudian pilih item untuk menambahkan referensi pada Excel. Apabila perpustakaan objek yang benar untuk versi Excel Anda tidak muncul dalam daftar, pastikan versi Excel Anda terinstal dengan benar.

Catatan
* Apabila Anda sedang mengotomatisasi Microsoft Office Excel 2007, perpustakaan jenis muncul sebagai Perpustakaan Objek Microsoft Excel 12.0 dalam daftar Referensi.
* Apabila Anda sedang mengotomatisasi Microsoft Office Excel 2003, perpustakaan jenis muncul sebagai Perpustakaan Objek Microsoft Excel 11.0 dalam daftar Referensi.
* Apabila Anda sedang mengotomatisasi Microsoft Excel 2002, perpustakaan jenis muncul sebagai Perpustakaan Objek Microsoft Excel 10.0 dalam daftar Referensi
* Apabila Anda sedang mengotomatisasi Microsoft Excel 2000, perpustakaan jenis muncul sebagai Perpustakaan Objek Microsoft Excel 9.0 dalam daftar Referensi.
* Apabila Anda sedang mengotomatisasi Microsoft Excel 97, perpustakaan jenis muncul sebagai Perpustakaan Objek Microsoft Excel 8.0 dalam daftar Referensi
3. Klik OK untuk menutup kotak dialog Referensi.
4. Tambah CommandButton pada Form1.
5. Dalam jendela kode untuk Form1, masukkan kode berikut:

--------------------****************************----------------------------------

Option Explicit

Private Sub Command1_Click()
Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range


'Pada Galat GoTo Err_Handler

' Mulai Excel dan dapatkan objek Aplikasi.
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True

' Dapatkan buku kerja yang baru.
Set oWB = oXL.Workbooks.Add
Set oSheet = oWB.ActiveSheet

' Tambah header tabel dengan cara sel per sel.
oSheet.Cells(1, 1).Value = "First Name"
oSheet.Cells(1, 2).Value = "Last Name"
oSheet.Cells(1, 3).Value = "Full Name"
oSheet.Cells(1, 4).Value = "Salary"


' Format A1:D1 sebagai tebal, lurus vertikal = tengah.
With oSheet.Range("A1", "D1")
.Font.Bold = True
.VerticalAlignment = xlVAlignCenter
End With

' Buat larik untuk mengatur banyak nilai secara bersamaan.
Dim saNames(5, 2) As String
saNames(0, 0) = "John"
saNames(0, 1) = "Smith"
saNames(1, 0) = "Tom"
saNames(1, 1) = "Brown"
saNames(2, 0) = "Sue"
saNames(2, 1) = "Thomas"
saNames(3, 0) = "Jane"

saNames(3, 1) = "Jones"
saNames(4, 0) = "Adam"
saNames(4, 1) = "Johnson"

' Isi A2:B6 dengan satu larik nilai (Nama Depan dan Belakang).
oSheet.Range("A2", "B6").Value = saNames

' Isi C2:C6 dengan formula relatif (=A2 & " " & B2).
Set oRng = oSheet.Range("C2", "C6")
oRng.Formula = "=A2 & "" "" & B2"

' Isi D2:D6 dengan formula(=RAND()*100000) dan gunakan format.
Set oRng = oSheet.Range("D2", "D6")
oRng.Formula = "=RAND()*100000"
oRng.NumberFormat = "$0.00"

' Kolom AutoFit A:D.
Set oRng = oSheet.Range("A1", "D1")
oRng.EntireColumn.AutoFit

' Manipulasi jumlah variabel kolom untuk Data Penjualan Tigabulanan.
Call DisplayQuarterlySales(oSheet)

' Pastikan Excel terlihat dan memberikan kontrol pengguna
' pada masa usia Microsoft Excel.
oXL.Visible = True
oXL.UserControl = True

' Pastikan Anda mengeluarkan referensi objek.
Set oRng = Nothing
Set oSheet = Nothing
Set oWB = Nothing
Set oXL = Nothing

Exit Sub
Err_Handler:
MsgBox Err.Description, vbCritical, "Error: " & Err.Number
End Sub

Private Sub DisplayQuarterlySales(oWS As Excel.Worksheet)
Dim oResizeRange As Excel.Range
Dim oChart As Excel.Chart
Dim iNumQtrs As Integer
Dim sMsg As String
Dim iRet As Integer

' Tentukan berapa banyak bagian untuk menampilkan data.
For iNumQtrs = 4 To 2 Step -1
sMsg = "Enter sales data for" & Str(iNumQtrs) & " quarter(s)?"
iRet = MsgBox(sMsg, vbYesNo Or vbQuestion _
Or vbMsgBoxSetForeground, "Quarterly Sales")
If iRet = vbYes Then Exit For
Next iNumQtrs


sMsg = "Displaying data for" & Str(iNumQtrs) & " quarter(s)."
MsgBox sMsg, vbMsgBoxSetForeground, "Quarterly Sales"

' Memulai pada E1, isi header untuk jumlah kolom yang dipilih.
Set oResizeRange = oWS.Range("E1", "E1").Resize(ColumnSize:=iNumQtrs)

oResizeRange.Formula = "=""Q"" & COLUMN()-4 & CHAR(10) & ""Sales"""

' Ubah Orientasi dan properti WrapText untuk header.
oResizeRange.Orientation = 38
oResizeRange.WrapText = True

' Isi warna interior dari header.
oResizeRange.Interior.ColorIndex = 36

' Isi kolom dengan formula dan gunakan format angka.
Set oResizeRange = oWS.Range("E2", "E6").Resize(ColumnSize:=iNumQtrs)
oResizeRange.Formula = "=RAND()*100"
oResizeRange.NumberFormat = "$0.00"

' Gunakan batas pada data Penjualan dan header.
Set oResizeRange = oWS.Range("E1", "E6").Resize(ColumnSize:=iNumQtrs)
oResizeRange.Borders.Weight = xlThin

' Tambah formula Total untuk data penjualan dan gunakan batas.
Set oResizeRange = oWS.Range("E8", "E8").Resize(ColumnSize:=iNumQtrs)
oResizeRange.Formula = "=SUM(E2:E6)"
With oResizeRange.Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
End With

' Tambahkan Bagan untuk data yang dipilih
Set oResizeRange = oWS.Range("E2:E6").Resize(ColumnSize:=iNumQtrs)
Set oChart = oWS.Parent.Charts.Add
With oChart
.ChartWizard oResizeRange, xl3DColumn, , xlColumns
.SeriesCollection(1).XValues = oWS.Range("A2", "A6")
For iRet = 1 To iNumQtrs
.SeriesCollection(iRet).Name = "=""Q" & Str(iRet) & """"
Next iRet
.Location xlLocationAsObject, oWS.Name
End With

' Pindahkan bagan sehingga tidak menutupi data Anda.
With oWS.Shapes("Chart 1")
.Top = oWS.Rows(10).Top
.Left = oWS.Columns(2).Left

End With

' Kosongkan referensi.
Set oChart = Nothing
Set oResizeRange = Nothing

End Sub

-------------------------------********************************--------------------

6. Tekan F5 untuk menjalankan projek.

Untuk informasi lebih lanjut mengenai Otomatisasi Office, kunjungi situs dukungan Pengembangan Microsoft Office pada:

http://support.microsoft.com/ofd (http://support.microsoft.com/ofd)

Comments :

0 komentar to “Cara mengotomatisasi Microsoft Excel dari Visual Basic”

Posting Komentar

BlogBlogs

 

Copyright © 2009 by ILMU PENGETAHUAN KOMPUTER

Template by Blogger Templates | Powered by Blogger