掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
EXCELファイル保存時にサイズ肥大を回避するには? (ID:85133)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VBAのソースを埋め込む方法ならわかりますので 載せときます。 まず参照設定で[Microsoft Visual Basic for Application Extensiblity **] Dim xlsApp As Excel.Application Dim xlsVBE As VBIDE.VBE Dim xlsMod As VBIDE.VBComponent Dim xlsCode As VBIDE.CodeModule Set xlsApp = CreateObject("Excel.Application") xlsApp.Workbooks.Add xlsApp.Visible = True Set xlsVBE = xlsApp.VBE Set xlsMod = xlsVBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule) Set xlsCode = xlsMod.CodeModule ' xlsCode.InsertLines 1, "Option Explicit" xlsCode.InsertLines 2, "Public Sub Test()" & vbCrLf _ & " MsgBox ThisWorkbook.Name" & vbCrLf _ & "End Sub" Set xlsCode = Nothing Set xlsMod = Nothing Set xlsVBE = Nothing Set xlsApp = Nothing とりあえず簡単にMsgBoxを! エクセルの設定で変数の宣言強制してる場合、上記のように Option Explicitの所をコメントしてください。 で次はVBAソースをテキストファイルに用意しておき、 そのソースを埋め込む!(こっちの方が実用的!?) Dim objFileSystem As Object Dim objFile As Object Dim strFileName As String Dim strRecBuff As String Dim xlsApp As Excel.Application Dim xlsVBE As VBIDE.VBE Dim xlsMod As VBIDE.VBComponent Dim xlsCode As VBIDE.CodeModule ' 読み込むファイル名 strFileName = "C:\VBA.txt" ' ファイルシステムオブジェクトへの参照 Set objFileSystem = CreateObject("Scripting.FileSystemObject") ' ファイルを開く Set objFile = objFileSystem.OpenTextFile(strFileName) ' ファイルの最後に達するまでループ ' 読み込んだデータを変数に保存 strRecBuff = objFile.ReadAll ' ファイルを閉じる objFile.Close ' オブジェクトを解放 Set objFileSystem = Nothing Set objFile = Nothing Set xlsApp = CreateObject("Excel.Application") xlsApp.Workbooks.Add xlsApp.Visible = True Set xlsVBE = xlsApp.VBE Set xlsMod = xlsVBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule) Set xlsCode = xlsMod.CodeModule xlsCode.InsertLines 2, strRecBuff Set xlsCode = Nothing Set xlsMod = Nothing Set xlsVBE = Nothing Set xlsApp = Nothing 本来はVBから実行するソースそのまま書いてるので CreateObject("Excel.Application")の代わりになる物が あるかと思うのですが、とりあえず!
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.