excel/vbaマクロのウィンドウボックスにフラットファイルとしてユニコード文字列を格納したい。マクロは通常の文字列をUnicode表現に変換し、ファイルに格納して後で取得する必要があります。vbaからフラットファイルへのUnicode文字列
3
A
答えて
2
「Microsoft Scripting Runtime」COMコンポーネント(scrrun.dll)への参照を追加します。
ファイルを作成/読み書きするためのすべてのクラス(具体的にはFileSystemObject/TextStream)があります。
5
前述のとおり、Microsoft Scripting Runtime(scrrun.dll)を使用することができます。私はいくつかの例を以下に掲載しました。また、ネイティブのファイルIO機能が好きな人もいます。ここでは大規模な(そしてかなり包括的なスレッド)スレッドがあります:http://www.xtremevbtalk.com/showthread.php?t=123814
しかしUnicodeは、それはおそらくTextstreamsを使用して少なくとも苦痛だ:)
Public Sub StringToTextFile(ByVal path As String, ByVal value As String)
'Requires reference to scrrun.dll
Dim fso As Scripting.FileSystemObject
Dim ts As Scripting.TextStream
Set fso = New Scripting.FileSystemObject
Set ts = fso.CreateTextFile(path, False, True)
ts.Write value
ts.Close
End Sub
Public Sub LazyMansWay(ByVal path As String, ByVal value As String)
'Reference counting will cause the objects to be destroyed. The termination
'events of the classes will cause the connections to be closed.
CreateObject("Scripting.FileSystemObject").CreateTextFile(path, False, True).Write value
End Sub
1
私が理解できた最善の解決策は、文字列を読み込まれるファイルのためのバイト配列とバイナリファイルへの各バイトを書き込む
Private Function WriteBinaryFile(ByRef szData As String)
Dim bytData() As Byte
Dim lCount As Long
bytData = szData
Open PwdFileName For Binary As #1
For lCount = LBound(bytData) To UBound(bytData)
Put #1, , bytData(lCount)
Next lCount
Close #1
End Function
にバイナリモードでファイルを開き、バイト配列に各バイトを読み取り、次いで、文字列に変換し、それを読み取ります。
Sub ReadBinaryFile(ByRef gszData As String)
Dim aryBytes() As Byte
Dim bytInput As Byte
Dim intFileNumber
Dim intFilePos
intFileNumber = FreeFile
Open PwdFileName For Binary As #intFileNumber
intFilePos = 1
Do
Get #intFileNumber, intFilePos, bytInput
If EOF(intFileNumber) = True Then Exit Do
ReDim Preserve aryBytes(intFilePos - 1)
aryBytes(UBound(aryBytes)) = bytInput
intFilePos = intFilePos + 1
Loop While EOF(intFileNumber) = False
Close #intFileNumber
gszData = aryBytes
End Sub
関連する問題
- 1. 文字列からUnicodeへの変換
- 2. 一部のコードページからUnicodeへの文字列の変換
- 3. PythonのUnicode文字列からASCIIへの変換2.7
- 4. Python dictからJSONへのUnicode文字列の受け渡し
- 5. Excel VBA文字列のUnicode文字を削除する
- 6. Unicode文字列から日付形式への変換エラー
- 7. =?UTF?Q? ASCIIからUnicodeへのニュースグループ文字列
- 8. Python2.xのUnicode文字列からエスケープ文字(エスケープ文字のUnicode文字)を削除するには?
- 9. ExcelのVBAマクロのUnicode文字?
- 10. numpy文字列から文字列へ
- 11. Unicode文字列(パイソン)
- 12. Unicode文字列リテラル
- 13. 文字列Unicode文字列から文字を削除します。
- 14. VBAマクロExcel:ExcelセルからUnicode文字を読み取る方法
- 15. javaからxmlへのUnicode文字の受け渡し
- 16. urllib.requestのUnicode文字列
- 17. es6から文字列へ
- 18. から文字列へ
- 19. PDfから文字列へ
- 20. DataTableから文字列へ
- 21. フォーマットモーメントから文字列へ
- 22. フラットファイルからSOAP XMLへ
- 23. チェック文字列はUnicode文字
- 24. バルクUnicode文字を含む単一列のフラットファイルを挿入すると、行が切り捨てられます
- 25. 文字列配列から文字列への変換Swift
- 26. ルビー:アンエスケープUnicode文字列
- 27. 有効なUnicode文字列
- 28. ユーザーにUnicodeアラビア文字列
- 29. 文字列のUnicodeへの変換をテストできません
- 30. Pythonの文字列から文字列への空白のコピー
+1 hdポストクオリティ –