Ibu Siti dan teman-teman,
Terimakasih banyak kebaikannya untuk membantu dan memberikan
pencerahan...
Semoga sukses selalu bersama Anda.

Salam,
Gusti

________________________________
From: belajar-excel@yahoogroups.com
[mailto:belajar-ex...@yahoogroups.com] On Behalf Of siti Vi
Sent: Thursday, September 03, 2009 4:28 AM
To: belajar-excel
Subject: Re: [belajar-excel] Macro/VB membuka file

sekedar tambahan & komentar kesiangan..
--------------------------------------------------------------
membuka workbook (dari vba) tentu banyak (lebih dari satu) caranya
ada yg dibuat rumit ada yg dibuat sederhana, tentunya kita memilih
yg sederhana sekaligus efektip wal efisien..

di dalam suatu aplikasi (yg berbasis excel) membuka workbook, biasanya
SUDAH diketahui path dan nama workbooknya,
jadi dengan fso browse for folder menjadi kurang praktis.
(kalau memang ini keperluannya dari menu file kan sudah ada
kemudahan-nya)
Tetapi dlm aplikasi tertentu, hal spt itu mungkin saja diperlukan.

Sebelum bicara lebih lanjut, ada suatu tips begini:

Dlm suatu aplikasi (berbasis excel), semua file yg terkait dlm aplikasi
tsb,
SEBAIKNYA disimpan di FOLDER Yg SAMA (se-folder) dgn file utama (yaitu
file yg mengandung makro mengenai aplikasi tsb)
Workbook yg mengandung code vba yg sedang dijalankan, di VBA dikenal
dengan nama khusus = ThisWorkbook.
Dengan demikian PATH bagi semua file yg terkait dengan aplikasi tsb
tentulah SAMA (yaitu path milik ThisWorkbook)

Keadaan yg menguntungkan spt ini dapat kita manfaatkan untuk membuat 1
variable bertype string yg menyimpan informasi Path yg akan sering
digunakan itu,
misal:
dim xPath as string
xPath = Thisworkbook.Path & "\"

Nantinya setiap akan mengakses / membuka file yg terkait dengan aplikasi
tsb
(yg sudah dengan 'sengaja' kita taruh se-Folder dengan FileUtama
/ThisWorkbook)
kita tinggal bilang:
xpath & NamaFile.

Cara ini memberikan kemudahan dikemuaidn hari, yaitu jika dipindah ke
folder
manapun, misal applikasi yg harus dikirim ke milis dan setiap member
mencobanya;
foldernya kan bisa sejuta macam, tetapi dgn cara tsb makro tidk perlu
di-edit lagi;
asal kita tetap konsisten (file yg terkait dlm aplikasi dijadikan
se-Folder)


Kembali ke masalah pak yugus, kalau ndak salah tangkap maksud pak yugust
ingin
1. men-Check dulu apakah workbook yg akan dibuka,
    (apakah sudah terbuka atau belum)
2. Jika belum (maka dibuka), jika sudah (maka diaktifkan)

masukan dari pak mangujang_k, sepertinya sudah menjawab keperluan pak
yugus.

cara lain
<> mengetahui apakah suatu workbook tertentu sudah terbuka
berhubung semua workbook yg sudah terbuka menjadi anggota object koleksi

bernama Workbooks
Jika keperluan ini akan sering diulang, maka udf dibawah ini akan
memberi kemudahan:

private funtion IsOpen(strW as string) as boolean
dim w as workbook
for each w in workbooks
if w.name = strW then
isopen = true
exit function
end if
next w
end function

variable /nama fungsi IsOpen di awal prosedur tidak perlu di-init =
False, karena Boolean
ketika dibuat SUDAH selalu bernilai False.

penggunaan udf tsb dlm prosedur

if IsOpen("stringNamaWorkbook.xls") then
workbooks("stringNamaWorkbook.xls").activate
else
workbooks.open "stringNamaWorkbook.xls"
end if

path tidak perlu di sebutkan karena kita yakin workbook yg dikehendaki
ada di folder yg sama (dgn file yg menandung makro ini)

Kirim email ke