0

現在、VBA を使用して Excel シートをパイプ区切りの .txt 拡張子を持つ Unicode ファイルとして保存しようとしています。

次のコードでユニコードとして保存する方法を見つけました

ActiveWorkbook.SaveAs FileName:=FileName, _
FileFormat:=xlUnicodeText

ただし、これによりタブ区切りで保存されます。FileFormatに関するページがあまり役に立たないため、MSDN のオプションが見つからないようです。

4

2 に答える 2

0

また、search-n-replace では引用符で囲まれた区切り文字が適切に修正されないことにも注意してください。

于 2013-02-07T20:21:01.687 に答える
0

.csv として保存しても Unicode は保持されないため、こちらのようなマクロを使用して、テキスト ファイル内のタブをパイプに置き換えてみてください。を使用して呼び出すことができます

call TextFileReplace("C:\temp\test.txt","C:\temp\test2.txt",vbtab,"|")

Public Sub TextFileReplace(ByVal sFile As String, ByVal sNewFile As String, ByVal sFind As String, ByVal sReplace As String)
Dim iFile As Integer
Dim sTextBuffer As String
'
' Get the next available file handle
iFile = FreeFile
' Open the source file (sFile) for read access
Open sFile For Binary Access Read As iFile
' Create a buffer that will hold the contents of the file
sTextBuffer = Space(LOF(iFile))
' Read the contents of the file into the buffer
Get #iFile, , sTextBuffer
' Close the file
Close iFile

' Use the "Replace" function to replace all instances of
' (sFind) in the buffer with the value in (sReplace)
sTextBuffer = Replace(sTextBuffer, sFind, sReplace)

' Get the next available file handle
iFile = FreeFile
' Open/Create the new file for write access
Open sNewFile For Binary Access Write As iFile
' Write the modified buffer contents to the file
Put #iFile, , sTextBuffer
' Close the file
Close iFile
End Sub
于 2012-10-12T15:59:12.543 に答える