VBInstance.ActiveVBProject.VBComponents.Add (vbext_ct_ActiveXDesigner)
seperti pada postingan sebelumnya, maka yang kita peroleh hanyalah peringatan error. Adapun untuk ActiveX designer maka kode adalah seperti disamping: VBInstance.ActiveVBProject.VBComponents.AddCustom("{78E93846-85FD-11D0-8487-00A0C90DC8A9}")
. {78E93846-85FD-11D0-8487-00A0C90DC8A9} merupakan CLSID untuk data report default VB6, gantilah {78E93846-85FD-11D0-8487-00A0C90DC8A9} dengan CLSID yang sesuai, misalnya apabila menggunakan Crystal Report atau Active Report.Adapun contoh kode untuk menambah data report baru melalui pemrograman Add-Ins adalah sebagai berikut:
Public VBInstance As VBIDE.VBE
Public Connect As Connect
Option Explicit
Private Sub CancelButton_Click()
Connect.Hide
End Sub
Private Sub OKButton_Click()
Dim NewReport '- variant?
' //MSDBRPTR.DLL-Microsoft Data Report Designer v6.0
' InsertReferences "{642AC760-AAB4-11D0-8494-00A0C90DC8A9}", "1", "0"
' //msstdfmt.dll-Microsoft Data Formatting Object Library 6.0 (SP4)
' InsertReferences "{6B263850-900B-11D0-9484-00A0C91110ED}", "1", "0"
' //dua referensi .dll (MSDBRPTR.DLL dan msstdfmt.dll) di atas, akan otomatis direferensi pada saat kode di bawah dijalankan
'//Insert data report, CLSID untuk data report {78E93846-85FD-11D0-8487-00A0C90DC8A9}}
'//atau CLSID-nya diganti dengan ProgID juga akan menghasilkan hasil yang sama.
Set NewReport = VBInstance.ActiveVBProject.VBComponents.AddCustom("{78E93846-85FD-11D0-8487-00A0C90DC8A9}")
'mengatur properties
With NewReport
.Name = "rptSiswa" 'rubah nama menjadi rptSiswa
.Properties("Caption") = "Laporan data siswa"
'.dan sebagainya
'.dan sebagainya
End With
End Sub
'-------------------------------------------------------------------------------------------
'//Kode di bawah tidak diperlukan, hanya sebagai pengingat saja...
'-------------------------------------------------------------------------------------------
'Public Function InsertReferences(GUID As String, Mayor As Long, Minor As Long) As Boolean
'On Error GoTo ErrHandler
' 'Add dll references
' VBInstance.ActiveVBProject.References.AddFromGuid GUID, Mayor, Minor
' InsertReferences = True
'ErrHandler:
' InsertReferences = False
'End Function