|
▼弘美 さん:
こんばんは。
>こんにちは弘美です。(^^;
>前に投稿をして教えていただいた事と関係しているのですが
>callbynameをvb5.0では使えないのですが使える様に
>するにはどのようにすればいいのですか?
>やはりvb6.0にバージョンアップしなくてはいけないのかな?
↑5.0では確認していませんが・・・、使えないなら、vb6.0にするのが
一番だとは思いますが・・・。
どうしてもと言うなら、気がついた方法は・・・。
OfficeでCallbyname関数が使えるのですから、
Callbyname関数だけVBAで実行してもらうという方法は?
例えばExcelブックCbl.Xlsの
Thisworkbookモジュールに
'==================================================
Function cbn(obj, pr_str, flg, Optional get_pat = False)
'get_pat true set false =
If get_pat = True Then
Set cbn = CallByName(obj, pr_str, flg)
Else
cbn = CallByName(obj, pr_str, flg)
End If
End Function
なんていうコード記述して保存しておきます(この例題では
"D:\My Documents\TESTエリア\cbn.xls"というファイル名)。
VBからは、
'========================================================
Private Sub Command1_Click()
Dim excel As Object
Dim cbl As Object
Set excel = CreateObject("excel.application")
With excel
.Visible = False
Set cbl = .workbooks.open("D:\My Documents\TESTエリア\cbn.xls")
MsgBox cbl.cbn(Text1, "text", 2)
cbl.Close False
.quit
End With
End Sub
VB側のFormにText1とCommand1を貼り付けた場合の例ですが、Text1の内容が表示されます。
上記のコードは、VB4.0で確認しました(5.0は持ってないので)。
4.0・・、何年ぶりのインストールだろう・・。
でも、Callbynameを使えるバージョンにするのがやっぱり一番だと思いますが
|
|