dポイントプレゼントキャンペーン実施中!

excelでVBを使用しています。
管理方法は、

(1)xxx.bas(テキスト)ファイルをオリジナル。
(2)そのファイルを新規ブックで読み込み、xxx.xlaファイルをして保存。
(3)xxx.xlaファイルをアドオンとしてexcel起動時に読み込む。

としています。
新しいVBを作る場合は(1)~(3)を繰り返すのですが、この作業が毎回面倒です。
この作業をVBで出来るようにしたいのですが、どのように出来ますでしょうか。
入出力のファイル名は固定で構いません。

A 回答 (2件)

VBAでbasファイルのインポート・エクスポートをするには


ツール->マクロ->セキュリティ

VisualBasicプロジェクトへのアクセスを信頼する
にチェックを付けておく必要があります。
以下は、VBAProjectというプロジェクト名のファイルの
各ソースをエクスポートして解放し、再インポートする例です。

Sub Main()
Dim lTarget As Long
With Application.VBE
For i = 1 To .VBProjects.Count
If .VBProjects(i).Name = "VBAProject" Then
lTarget = i
Exit For
End If
Next
End With

If lTarget = 0 Then
End
End If

With Application.VBE.VBProjects(lTarget)
Dim sPath As String
sPath = .Filename
Dim lPos As Long
lPos = InStrRev(sPath, "\")
Dim sFolder As String
sFolder = Mid(sPath, 1, lPos)

Dim clFile As Collection
Dim sFile As String
Set clFile = New Collection
Dim lType As Long
Dim sExt(1 To 3) As String
sExt(1) = ".bas"
sExt(2) = ".cls"
sExt(3) = ".frm"

For i = .VBComponents.Count To 1 Step -1
lType = .VBComponents(i).Type
If 1 <= lType And lType <= 3 Then
sFile = sFolder & .VBComponents(i).Name & sExt(lType)
clFile.Add sFile
.VBComponents(i).Export sFile
.VBComponents.Remove .VBComponents(i)
End If

Next

For i = 1 To clFile.Count
.VBComponents.Import clFile(i)
Next

End With
End Sub

この回答への補足

ちなみにこの辺のコードの管理はみんなどういう風にしてるのか気になります。
今回の件とは違ってくるので、また今度質問してみます。

補足日時:2008/05/09 18:02
    • good
    • 0
この回答へのお礼

basファイルのエクスポート、インポート確認出来ました。
ありがとうございます。

お礼日時:2008/05/09 18:01

コードの操作はVBAで自由にできます。


下記の検索結果を参考にしてみてください。

http://www.google.co.jp/search?num=30&hl=ja&q=VB …

1~2は新規ブックへモジュールのコピーでやって仕舞えば良いのでは?
アドオンフォルダへのコピーもアドオンを有効にするのもVBAで可能だったと思います。

http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub0 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!