Tuesday, June 12, 2012

Mengganti Seluruh Kode Yang Terdapat Pada Module - VB6 Add-Ins

Di bawah merupakan kode untuk mengganti seluruh kode yang terdapat pada CodeModule VBComponent (Form, Module, Class, dll) melalui Add-Ins.
Private Function SetCodeModule(s As String, c As String) As Boolean 
Dim
cd As CodeModule
Set cd = VBInstance.ActiveVBProject.VBComponents(s).CodeModule
cd.DeleteLines 1, cd.CountOfLines
cd.AddFromString c
End Function
READ MORE - Mengganti Seluruh Kode Yang Terdapat Pada Module - VB6 Add-Ins

Di manakakah letak procedure Sub Main? - VB6 Add-Ins

Karena letak prosedure Sub Main() bisa di module mana saja, maka untuk mengetahuinya melalui project VB6 Addin, maka kita memerlukan kode di bawah ini:
Private Function GetSubMain() As String 
Dim v As
VBComponent
Dim l As Long, s As String
For Each v In
VBInstance.ActiveVBProject.VBComponents
With v
If
.Type = vbext_ct_StdModule Then
l =
v.CodeModule.CountOfLines
If l > 0 Then
s =
v.CodeModule.Lines(1, l)
If InStr(1, s, "sub main()", vbTextCompare) > 0 Then
GetSubMain = v.Name
Exit Function
End If
End If
End If
End With
Next
End Function
READ MORE - Di manakakah letak procedure Sub Main? - VB6 Add-Ins

Memeriksa Apakah Sebuah Project Telah Disimpan - VB6 Add-Ins

Melalui VB6 Add-Ins kita dapat memeriksa apakah sebuah project telah disimpan atau belum, berikut fungsi untuk memeriksa apakah project telah disimpan:
Private Function IsProjectSaved() As Boolean 
IsProjectSaved = Not (VBInstance.ActiveVBProject.Filename = "")
End Function
READ MORE - Memeriksa Apakah Sebuah Project Telah Disimpan - VB6 Add-Ins

Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins

Di bawah merupakan fungsi untuk memperoleh seluruh kode dari baris pertama hingga baris terakhir - Bermanfaat terutama untuk meng-crop kode-kode sample dan memasukannya ke dalam snippet database.
Public VBInstance As VBIDE.VBE 
Public Connect As Connect

Option Explicit

Private Sub
CancelButton_Click()
Connect.Hide
End Sub

Private Sub
OKButton_Click()
MsgBox GetCodeModule("Form1")
End Sub

Private Function
GetCodeModule(s As String) As String
Dim
cd As CodeModule
Set cd = VBInstance.ActiveVBProject.VBComponents(s).CodeModule
GetCodeModule = cd.Lines(1, cd.CountOfLines)
End Function
READ MORE - Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins