View Single Post
  #2   Report Post  
Peter Jamieson
 
Posts: n/a
Default

If you can create a text file that uses Unicode UTF-8 format, with a
suitable Unicode Byte Order Marker (BOM) , I /think/ Word will recognise the
file correctly, but it may still pop up an encoding dialog box.

The only other approach I know that /may/ solve this is to use some form of
automation to convert the source into a format that does work. For example,
use Word automation to open the file and save it as a Word document, then
use that as the data source for your merge. In this case you can specify the
encoding when you open the file.

If you convert to a Word .doc file, you may encounter performance problems
and (possibly) restrictions on the column count. But otherwise, that is
probably the best option.

To do the conversion, you need a simple macro, but you might need to do more
to cope with different file names and so on.

E.g.

Sub ConvertToUTF8()
' convert to a UTF8 format text file

' Needs error checking etc.
Dim oDoc as Word.Document

' change msoEncodingWestern to be the encoding you need. I think this should
work.

Set oDoc = Documents.Open("the path name of the file you need to
convert.txt", _
False, , False, , , , , , _
wdOpenFormatEncodedText, _
msoEncodingWestern, _
False, False, , True)

' Several of the parameters here are optional or
' irrelevant - you can probably remove the lines from
' ReadOnlyRecommended to SaveAsAOCLetter

oDoc.SaveAs _
FileName:="the path name of the file to convert to.txt", _
FileFormat:=wdFormatUnicodeTex*t, _
AddToRecentFiles:=False, _
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False*, _
SaveFormsData:=False, _
SaveAsAOCLetter:=False, _
Encoding:=msoEncodingUTF8, _
InsertLineBreaks:=False, _
AllowSubstitutions:=False, _
LineEnding:=wdCRLF

oDoc.Close Savechanges:=False
Set oDoc = Nothing
End Sub

or

Sub ConvertToWord()
' convert to a Word document file

' Needs error checking etc.
Dim oDoc as Word.Document

' change msoEncodingWestern to be the encoding you need. I think this should
work.

Set oDoc = Documents.Open("the path name of the file you need to
convert.txt", _
False, , False, , , , , , _
wdOpenFormatEncodedText, _
msoEncodingWestern, _
False, False, , True)

' Several of the parameters here are optional or
' irrelevant - you can probably remove the lines from
' ReadOnlyRecommended to Encoding

oDoc.SaveAs _
FileName:="the path name of the file to convert to.doc", _
FileFormat:=wdFormatDocument, _
AddToRecentFiles:=False, _
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False*, _
SaveFormsData:=False, _
SaveAsAOCLetter:=False, _
Encoding:=msoEncodingUTF8, _
InsertLineBreaks:=False, _
AllowSubstitutions:=False, _
LineEnding:=wdCRLF

oDoc.Close Savechanges:=False
Set oDoc = Nothing
End Sub

--

Peter Jamieson


"Totoro" wrote in message
...
Hi,
I'm working with soft who extract data in a txt file and launch word and
merge with this data txt file. This Txt file contain some accentuated
caracters.
everything is ok with Word 2000 but with Word 2002, only in particular
conditions, word automaticaly translate this file in japanese code so the
result of the merge is unreadable. It seems like it happend with
particular group of accentuated caracters because I have some extract file
with accentuated caracters correctly opened without translation. In a
other way, I have a txt file word wants to translate, I try to manually
operate the merge, word ask for translation, I cut this txt file in some
little txt files containing less than 9 records ... word never ask to
translate any of them ...

Any Ideas ??

thx a lot

--
A++
Laurent

"Tu sais que tu es comme le H de Hawaï ?"
"s't'a dire ?"
"Tu sers à rien, ch't'ai cassssééééé là !!"