Skip to content

Instantly share code, notes, and snippets.

@nanbu
nanbu / README.md
Created August 31, 2011 14:59
VBAで文字コードを指定してテキストファイルを読み取る (Windows専用)

Function LoadText(Filename, Optional Encoding = "UTF-8") As String

  • 文字コードを指定してテキストファイルからを文字列を読み取ります。
  • WindowsのVBAでのみ動作します。(MacのVBAではエラーが発生します)

特徴

  • ファイルのオープン・クローズ処理が不要です。(関数の内部で完結しています)
  • 幅広い文字コードを読み取ることができます。(ADODB.StreamのCharsetプロパティが対応している文字セット)
@nanbu
nanbu / README.md
Created August 31, 2011 12:38
VBAで文字コードを指定して文字列をテキストファイルに保存 (Windows専用)

Function SaveText(Filename, Text As String, Optional Encoding = "UTF-8") As Boolean

  • 文字コードを指定して文字列をテキストファイルに保存します。
  • WindowsのVBAでのみ動作します。(MacのVBAではエラーが発生します)
  • UTF-8で出力する場合はBOMなしのUTF-8(別名「UTF-8N」)にしています。

特徴

  • ファイルのオープン・クローズ処理が不要です。(関数の内部で完結しています)
  • UTF-8はBOMなしにしていますのでHTML等のWeb用途に向いています。
@nanbu
nanbu / gist:1183393
Created August 31, 2011 12:10
VBAで文字列をHTMLの属性(Attribute)としてエスケープ
Function EscapeHTMLAttribute(Text) As String
Dim Result As String
Result = Replace(Text, "&", "&")
Result = Replace(Result, """", """)
EscapeHTMLAttribute = Result
End Function
@nanbu
nanbu / gist:1183384
Created August 31, 2011 12:03
VBAで文字列をHTMLエスケープ
Function EscapeHTML(Text) As String
Dim Result As String
Result = Replace(Text, "&", "&")
Result = Replace(Result, "<", "&lt;")
Result = Replace(Result, ">", "&gt;")
EscapeHTML = Result
End Function
@nanbu
nanbu / README.md
Created August 31, 2011 11:27
VBAで改行文字を任意の文字に変換

ConvertLineEnding(Text As String, LineEnding As String) As String

改行文字(CR、LF、CR+LF)を任意の文字に変換します。

主な用途

  • 改行文字をそろえる。
  • 改行文字を<br>に変換する。

使用例

Dim SourceText As String

Dim ResultText As String