Sedikit tambahan, kalau untuk currency dan pemisah ribuan, ndak perlu pakai
itu, kecuali sudah ada routine-nya. Manfaatkan kemampuan fungsi yang ada
seperti format() di VB.

2009/12/2 hery wahyudi <h...@cresyn.com>

>
>
> Selamat Sore,
>
> Mas Kid dan Mbak Siti,
>
> TerimaKasih, sudah bantu,
>
> nanti akan aku coba, ilmu dari mas kid ini,
>
> Untuk sementara (yang penting Program jalan), aku beri Input Box pada awal
> applikasi, yang mengharuskan user untuk memilih regional optionnnya ";" atau
> ","  :)
>
> sambil terus mengembangkan untuk jadi lebih mudah bagi user,
>
> Terimakasih
>
> Miturut Mr. Kid kados ingkang kaserat ing ngandap meniko:
>
>
>
> Jika memanfaatkan excel application, cara ini yang paling tepat, bias
> dipanggil dari mana saja.
> Jadi begitu sudah deklarasi object sebagai excel.application, maka bisa
> menggunakan saran mbak Siti yang terakhir itu.
>
>  Jika mau pakai WinAPI, ada regional setting diatur oleh kernel32
> Fungsi yang bisa digunakan -- contoh dengan VB -- :
> (sesuaikan cara deklarasi fungsi dan include library dengan bahasa
> pemrograman yag digunakan)
>
>  1. Untuk mendapatkan karakter regional setting
> Declare Function GetLocaleInfo Lib "kernel32" Alias _
> "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
> ByVal lpLCData As String, ByVal cchData As Long) As Long
>
>  2. Untuk ganti (set) karakter regional setting
> Declare Function SetLocaleInfo Lib "kernel32" Alias _
> "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
> ByVal lpLCData As String) As Boolean
>
>  3. untuk mendapatkan setting yang digunakan si komputer saat ini (yang
> jadi default)
> Declare Function GetUserDefaultLCID% Lib "kernel32" ()
>
>  Seluruh variabel LCType adalah nilai Enum dari berbagai macam item
> setting.
> Deklarasikan variabel masing-masing item yang Anda gunakan sebagai
> konstanta berisi nilai enum tersebut dalam Hexadecimal.
> Contoh untuk list separator :
>
>  Public Const LOCALE_SLIST = &HC
>
>  Dan gunakan fungsi-fungsi diatas.
> Contoh (menggunakan VB) : Karena ingin mengambil karakter list separator,
> maka yang digunakan hanya 1 dan 3
>
>  Public Const LOCALE_SLIST = &HC
>
>  Public Function ListSeparatorKu() as String
>      Dim sListSeparatorKu as string    'variabel wadah sementara  (cuma
> beda s saja)
>      Dim lSettingID as long
>
>      Listseparatorku = vbnullstring
>
>       'dapatkan id regional setting yang digunakan (default si komputer
> sekarang)
>      lSettingID = GetUserDefaultLCID()
>
>       'asumsi : jumlah karakter list separator adalah 4,
>      'maka manfaatkan fungsi no 2 untuk dapatkan karakter itu
>      'dengan memasukkan parameter string yang jumlah karakternya sudah
> didefinisikan
>      'dan selalu di tambah 1 dari julah asumsi, supaya mudah diambil lagi.
>      'dengan karakter bawaan tertentu
>      sListseparatorku = String$(5, 0)     ' 5 karena 4 + 1, dan 0 (numerik)
> = Chr$(0)
>      Call GetLocaleInfo(lSettingID, LOCALE_SLIST, sListseparatorku, 5)
>  '  5 karena 4 + 1
>      IF instr( sListseparatorku, Chr$(0) ) > 0 then
>                Listseparatorku = Left$( sListseparatorku , instr(
> sListseparatorku, Chr$(0) ) - 1 )
>      end if
>
>      'mau lihat hasilnya :
>      msgbox listseparatorku
> End Function
>
>  Itu tadi masih dengan asumsi julah karakternya 4. Gimana kalau
> kenyataannya lebih ?
> dalam programming ndak ada kata ndak mungkin, oleh sebab itu selalu ada
> error handler bahkan untuk asumsi yang jelas, diberi atau dicek syarat batas
> suatu nilainya.
>
>  Jadi, lebih enak jika sudah pasti tahu berapa jumlah karakternya kan.
> Caranya, memanfaatkan fungsi no.1
>
>
>         dim lPanjangKarakter as long
>
>        lSettingID = GetUserDefaultLCID()
>        lpanjangkarakter =  GetLocaleInfo(lSettingID, LOCALE_SLIST,
> sListseparatorku,0)
>        sListseparatorku = String$(lpanjangkarakter, 0)
>        Call GetLocaleInfo(lSettingID, LOCALE_SLIST, sListseparatorku,
> lpanjangkarakter)
>        'atau :
>        '   lpanjangkarakter = GetLocaleInfo(lSettingID, LOCALE_SLIST,
> sListseparatorku, lpanjangkarakter)
>
>       IF instr( sListseparatorku, Chr$(0) ) > 0 then
>                Listseparatorku = Left$( sListseparatorku , instr(
> sListseparatorku, Chr$(0) ) - 1 )
>      end if
>
>       'atau dengan blok :
>      '   lpanjangkarakter = instr( sListseparatorku, Chr$(0) )
>       '   IF lpanjangkarakter > 0 then
>      '          Listseparatorku = Left$( sListseparatorku
> , lpanjangkarakter - 1 )
>      '   end if
>
>
>  Semoga bermanfaat.
> Kid.
>
>  2009/12/1 siti Vi <setiyowati.d...@gmail.com>
>
>>
>>
>> oo begeetoo...
>>
>> nah saya blum pernah main main dengan COM
>> apakah saat main-main dengan COM ndak ada kesempatan ber VBA ria?
>> karena List-Separator itu disimpan di sebuah property
>> kalau dilihat dari excel :
>> *Application.International(Index)
>> *
>> untuk percobaan:
>> Sub ListSeparatorKu()
>> Dim lsp
>> lsp = Application.International(xlListSeparator)
>> MsgBox lsp & "  = Ascii Code : " & Asc(lsp)
>> End Sub
>>
>>  bgmana ini mas Kid ?? (ahlinya nih...)..
>>
>>
>>
>>
>>  ----- Original Message -----
>> From: hery wahyudi
>> To: belajar-excel@yahoogroups.com
>>  Sent: Tuesday, December 01, 2009 3:07 PM
>> Subject: Re: [belajar-excel] WTA: Mencari Separator (pembatas) pada
>> formula Excel
>>
>>
>> Mbak Siti Benar,
>> tapi masalahnya begini mbak,
>> yang jadi "Exceller sejati " itu program lain, yang dari program ini aku
>> memanfaatkan Component Object Model(COM) nya Excel,
>> sederhananya, aku control excel dari program lain, dan akan menuliskan
>> formula di excel tsb,
>> nah, masalahnya separator setiap kompie tergantung settingannya, jadi ya
>> pasti beda2
>> aku yakin pasti ada source tempat menyimpan separator ini,
>> cuma belum ketemu
>> maaf, jadi mbleber topiknya,
>> BTW Terimakasih Mbak Siti sudah bersedia  membahasnya,
>> Terimakasih
>>
>>
>> Miturut siti Vi kados ingkang kaserat ing ngandap meniko:
>> Tanpa membuka control panel, tanpa makro ??
>> IMHO, ya harus dicoba (try & err) tuliskan di fungsi; misal
>> Vlookup(A1;B1:B3;1;FALSE)
>> (argument / list separator = semicolon (;) jika di enter dianggap SALAH
>>
>> maka berarti argument-separatornya harus diganti koma (,)
>> (NOTE err-msg tsb bisa muncul karena kesalahan lain; bukan hanya soal
>> ListSeparator saja)
>>
>> Sekedar saran, sebagai "exceller sejati", begitu ketemu PC baru tentunya
>> kita ingin segera tahu
>> (dan mencatat) segala setting yg berhubungan dengan excel bukan ??
>> *default direktori tempat mensave file
>> *direktori untuk mensave AutoRecover
>> *Language setting
>> *Format date time
>> *List separator
>> *Decimal separator
>> *Thousand Separator
>> dan sebangsanya..
>>
>
>
>
> --
>  *  Hery Wahyudi*
>   
>

Kirim email ke