VBAに関しては初心者なため、とんちんかんな質問と感じてしまうかもしれませんが何卒ご意見よろしくお願いいたします。
クラスのインスタンス化について、いくつかのサイトを調べてみましたが、自分の調べた範囲では、クラスのインスタンス化を各プロシージャごとに行っていました。
このインスタンス化処理の部分を1ヶ所でまとめて行う(共通化する)ことはできないのでしょうか?
例えばですが、下記のようなコードを
ClassModule
1Property Get fs() As Object'FileSystemObject 2 Static fs_ As Object 3 If fs_ Is Nothing Then Set fs_ = CreateObject("Scripting.FileSystemObject") 4 Set fs = fs_ 5End Property
module
1Sub test()'拡張子取得 2 Dim cls As ClassModule 3 Set cls = New ClassModule 4 MsgBox cls.fs.GetExtensionName("C:\Users\users\hogehoge.pdf") 5End sub 6----------------------------------------------------------------- 7Sub test2()'ファイル名取得 8 Dim cls As ClassModule 9 Set cls = New ClassModule 10 MsgBox cls.fs.GetFileName("C:\Users\users\hogehoge.pdf") 11End sub
↓このようにしたいと言うことです
module
1Dim cls As ClassModule 2Set cls = New ClassModule 3 4Sub test()'拡張子取得 5 MsgBox cls.fs.GetExtensionName("C:\Users\users\hogehoge.pdf") 6End sub 7----------------------------------------------------------------- 8Sub test2()'ファイル名取得 9 MsgBox cls.fs.GetFileName("C:\Users\users\hogehoge.pdf") 10End sub
よろしくお願いいたします。
現状やってみた問題点は何でしょうか
それとも可不可のみを求められているのでしょうか
質問本文に追記してください
回答1件
あなたの回答
tips
プレビュー