'メイン処理
Private Sub Main()
Const F_PATH = "c:\temp\testFormat.txt"
Dim shtTags As Worksheet
Set shtTags = Sheets("固定値シート")
Dim strSQL As String
'①テンプレート取得
strSQL = GetTemplate(F_PATH)
'②タグ置換
strSQL = ReplaceTag(strSQL, "INSTANCENAME", shtTags.Cells(1, "B").Value)
strSQL = ReplaceTag(strSQL, "PACKAGENAME", shtTags.Cells(2, "B").Value)
'strSQL = ReplaceTag(strSQL, "tableName", "TBL_A")
'③作成したSQLをテキスト保存(未実装)
Call SaveTemplate(F_PATH, strSQL)
End Sub
'①テンプレート取得
Private Function GetTemplate(ByVal vsFilename As String) As String
Dim f_num As Integer ' ファイル番号
Dim rcd As String ' テキストファイルの1行分文字列(1レコード)
Dim strRet As String
f_num = FreeFile
Open vsFilename For Input As f_num
Do Until EOF(f_num)
Line Input #f_num, rcd
strRet = strRet + vbCrLf & rcd
'Debug.Print rcd
Loop
'Debug.Print strSQL
Close f_num
'取得した内容を戻り値として返す
GetTemplate = strRet
End Function
'①テンプレート取得(一気に読むバージョン)
Private Function GetTemplate2(ByVal vsFilename As String) As String
Dim fso As Object
Dim strRet As String
Set fso = CreateObject("Scripting.FileSystemObject")
With fso.GetFile(vsFilename).OpenAsTextStream
strRet = .ReadAll
.Close
End With
GetTemplate2 = strRet
End Function
'②タグ文字列置換
Private Function ReplaceTag(ByVal vsBASE As String, ByVal vsTAG As String, ByVal vsVALUE As String) As String
Dim strRet As String
'タグを置換する
strRet = Replace(vsBASE, "{" & vsTAG & "}", vsVALUE)
'置換した内容を戻り値として返す
ReplaceTag = strRet
End Function
'③ファイル保存(未実装)
Private Sub SaveTemplate(ByVal vsFilename As String, vsText As String)
MsgBox vsText
End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/23 03:34
2017/10/23 04:13 編集
2017/10/23 07:54
2017/10/23 08:57