サンプルコード
Option Explicit
Private st As String
Public Function Read(ByVal file_name As String, Optional ByVal result As Boolean = True) As Boolean
Dim sf As Object
Dim ts As Object
On Error GoTo ErrorHandler
Set sf = CreateObject("Scripting.FileSystemObject")
Set ts = sf.GetFile(ThisWorkbook.Path & "\" & file_name).OpenAsTextStream(1)
st = ts.ReadAll
ts.Close
Finally:
If Not ts Is Nothing Then Set ts = Nothing
If Not sf Is Nothing Then Set sf = Nothing
Read = result
Exit Function
ErrorHandler:
result = False
Call ShowError(Err)
GoTo Finally
End Function
Public Function GetText() As String
GetText = st
End Function
Public Sub ShowError(ByVal e As ErrObject)
Dim s As String
s = ""
s = s & "ErrorNumber:" & CStr(e.Number) & ";" & vbCrLf
s = s & "ErrorDescription:" & e.Description & ";" & vbCrLf
s = s & "ErrorHelpFile:" & e.HelpFile & ";" & vbCrLf
s = s & "ErrorHelpContext:" & e.HelpContext & ";"
MsgBox s
End Sub
TextFileReaderと名付けて使用しているクラス。
Excel VBAにはヒアドキュメントが存在しない。
そのため長い文字列(たとえばSQLなど)は、メンテナンスしやすいように外部テキストファイルに記入しておいて、使用する際に読み込むようにする。
コメント