Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This imports binary code and converts to hex numbers. It has worked
flawlessly for years. Now in a excel 2003 Japanese language version, not so flawlessly. It gets confused occasionally (5% error) and reads two bits instead of one. Is there a way to turn off the Double-Byte capability of Japanese language versions of excel? Can I add something to the macro to force a single byte read? 02 0E 89 20 21 2F 02 01 Should look like 02 0E 8445 21 2F 02 01 I get this error __________________________________________________ _______ Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim fs, f, ts, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(FileNameWithPath) Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault) ColumnCount = 3 RowCount = Sheets("Sheet2").Range("N5").Value + 1 'Offset RowCount = Val("&h" & RowCount & "&") Do While ts.atendofstream = False 'Loop to fill column with HEX numbers DecimalByte = Asc(ts.Read(1)) HexByte = Hex(DecimalByte) Cells(RowCount, ColumnCount) = HexByte RowCount = RowCount + 1 Loop ts.Close |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 05/12/2010 07:26, shy1162 wrote:
This imports binary code and converts to hex numbers. It has worked flawlessly for years. Now in a excel 2003 Japanese language version, not so flawlessly. It gets confused occasionally (5% error) and reads two bits instead of one. Is there a way to turn off the Double-Byte capability of Japanese language versions of excel? That is a bad idea and will make you very unpopular with Japanese users. DBCS is essential for the display of the Japanese language. Can I add something to the macro to force a single byte read? 02 0E 89 20 21 2F 02 01 Should look like 02 0E 8445 21 2F 02 01 I get this error __________________________________________________ _______ Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim fs, f, ts, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(FileNameWithPath) Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault) I think this is your problem. In Japanese topbit set characters are automatically interpretted as DBCS escapes. TristateUseFalse will force ASCII single byte interpretation I think - though I haven't tried it. The local default of Excel in Japan is obviously to support the local language and interpret DBCS characters accordingly. Regards, Martin Brown |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
speak cells in Excel | Excel Discussion (Misc queries) | |||
How do I set my excel to speak what is typed in a cell? | Excel Discussion (Misc queries) | |||
how to get excel to speak to me | Setting up and Configuration of Excel | |||
How can I make Excel speak? | Setting up and Configuration of Excel | |||
Excel macro: Speak on enter | Excel Programming |