Thanks mas Kid,

Nambahin lagi  (mungkin ada temen be-exceler, bisa ikut belajar):

 

Dim appPrj as msproject.application
set appprj=new msproject.application

 

Yang aku tahu variable yang didefinisikan object.application, kita harus set 
object library reference di VBE (visual basic editor). 

Contoh yang biasa aku pakai adalah:

 

Saya mempunyai program excel ke autocad, maka di VBE Excel saya set object 
library ke ‘AutoCAD 2011 Type Library’

 

Problemnya adalah: 

“ketika file excel saya dijalankan di computer lain yang tidak mempunyai object 
library ‘AutoCAD 2011 Type Library (beda versi Autocad)’, maka program tersebut 
tidak bisa dijalankan”

 

Kemudian saat saya membuat aplikasi interface excel ke Microsoft project, saya 
coba hindari setting object library ke ‘Microsoft Project Object Library’ 
dengan harapan saat program interface tersebut dijalankan di computer yang 
mempunyai versi Microsoft Project yang berbeda tetap bisa dijalankan.

 

Apa pengarunhya (Plus. Minus nya) deklarasi variable:

Dim appPrj as msproject.application VS Dim appPrj as object

Atau

[Mengacu ke Object Library] VS [Tidak Mengacu ke Object Library]

 

Terimakasih

-zainul-

 

From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com] On 
Behalf Of STDEV(i)
Sent: Saturday, April 16, 2011 6:05 AM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Fungsi Set Object = Nothing

 

  

halo mas Kid....

ikutan tanya... 

 

siti pernah mendengar mengenai Variable (maupun Constants) dlm VBA bahwa

mereka ini punya Scope dan Umur, tergantung di level mana dia dideklrasikan.

 

kita ambil contoh dari mas zain
2 peubah:  AppPrj dan objProject dideklarasikan seabgai Object dengan keyword 

Dim di Level Prosedur.

 

Katanya, di VBA, Scope (ke-Terkenal-an)  dan Umur (ketersediaan) kedua peubah 
tsb hanya

di Prosedur itu saja

Dan begitu prosedur selesai menjalankan tugas / prgm pointer sudah sampai di 
End Sub;

maka SEMUA PEUBAH lenyap kembali seperti ditelan bumi...

Jenis Text kembali menjadi NullString, Bilangan menjadi 0, Object menjadi 
Nothing, dst..

 

Pertanyaanku

Jika yg siti dengar itu benar, di detik-detik menjelang berakhirnya prosedur,  
apakah kita masih 

perlu menge SET AppPrj = Nothing ?

Bukankah kalau didiamkan saja dia akan lenyap sendiri (menjadi Nothing), 
pemakaian memory 

otomatis dilepas.?

 

Dari dulu ini ingin siti ketahui kejelasannya, tapi ndak nemu-nemu bacaannya...

Prakteknya pun tidak pernah, karena selama ini hanya bisa nulis program kelas 
mainan & miniatur...

 

Ma acih....

 

 

 

2011/4/16 Mr. Kid <mr.nm...@gmail.com>

1. Bagaimana efeknya jika saya hilangkan statement set objProject=Nothing dan 
set AppPrj=Nothing?
Tidak ada dampaknya, bahkan untuk scope yang lebih luas dari prosedur 
sekalipun, karena hanya 1 object yang ada.
Akan berdampak ketika membuat instansi baru dengan New pada scope yang lebih 
luas dari prosedur.

Contoh :
Dim appPrj as msproject.application
set appprj=new msproject.application

maka jumlah memori akan membengkak setiap kali ada proses inisialisasi berupa 
pembuatan instansi baru.
jadi untuk seperti contoh diatas, usahakan tidak lupa untuk melepas memori yang 
telah usai digunakan dengan set = nothing
set appprj = nothing



2. Apasih sebenarnya fungsi set object = nothing?

Melepas memori yang digunakan oleh object tersebut. Jadi, si object tetap exist 
tetapi isinya Null (nothing) karena tidak ada memori yang diblok olehnya untuk 
digunakan.

Regards.
Kid.



2011/4/15 zainul ulum [yahoo] <zainul_u...@yahoo.com>

 

  

Be-excelers,

Saya sedang membuat program aplikasi dengan vba excel untuk update progress 
pekerjaan di Microsoft project.

Karena program dibuat di excel, maka ada beberapa syntax yang akan meng-access 
object Microsoft project. Contohnya adalah sbb:

 

Sub TestConnectMSProject()

    Dim AppPrj As Object, objProject As Object

    Set AppPrj = GetObject(, "MSProject.Application")

    Set objProject = AppPrj.activeproject

    Debug.Print objProject.Name

    Set objProject = Nothing

    Set AppPrj = Nothing

End Sub

 

‘Note:

‘AppPrj, objProject adalah object Microsoft project.

 

Pertanyaanya:

1. Biasanya saya selalu menggunakan syntax Set objProject = Nothing jika object 
tersebut tidak diperlukan lagi.

Bagaimana efeknya jika saya hilangkan statement set objProject=Nothing dan set 
AppPrj=Nothing?

 

2. Apasih sebenarnya fungsi set object = nothing?

 

Terimakasih

-zainul-

 

 



Kirim email ke