Hur byter man ut dos teknen till ÅÄÖ? Tror inte det finns något smartare sätt än att utnyttja Replace. Slutliga resultatet: Oki på det, det funkar, finns inget smartare. Här är lite VBA kod jag har använt i Access och Excel. Borde väl fungera i VB också. Skitbra det funkade klockrent , Behöver uppdatera min API Guide märker jag.DOS tecken /ANSI/ASCII
ÅÄÖåäö=Ž™†„”
ANSI/ASCII
Läser in en CSV fil med ANSI ÅÄÖ.
Replace() kännsn inte rätt
Tackam för hjälp!Sv: DOS tecken /ANSI/ASCII
ANSI till ASCII
Ä Chr$(196) Chr$(142)
Å Chr$(197) Chr$(143)
Ö Chr$(214) Chr$(153)
ä Chr$(228) Chr$(132)
å Chr$(229) Chr$(134)
ö Chr$(246) Chr$(148)
Berätta gärna hur det går,eller om det finns smartare sättSv: DOS tecken /ANSI/ASCII
Hitta inget bättre.
<code>
Private Sub Command1_Click()
' ANSI till ASCII
'Ä Chr$(196) Chr$(142)
'Å Chr$(197) Chr$(143)
'Ö Chr$(214) Chr$(153)
'ä Chr$(228) Chr$(132)
'å Chr$(229) Chr$(134)
'ö Chr$(246) Chr$(148)
Text1 = "Ž™†„”"
'Text1 = Replace(Text1, Chr$(196), Chr$(142)) 'ASCII till ANSI
Text1 = Replace(Text1, Chr$(142), Chr$(196))
Text1 = Replace(Text1, Chr$(143), Chr$(197))
Text1 = Replace(Text1, Chr$(153), Chr$(214))
Text1 = Replace(Text1, Chr$(132), Chr$(228))
Text1 = Replace(Text1, Chr$(134), Chr$(229))
Text1 = Replace(Text1, Chr$(148), Chr$(246))
'Resultatet skall bli: ÅÄÖåäö i text1
End Sub
</code>
/Tack!Sv: DOS tecken /ANSI/ASCII
InStr och Select Case skulle man också kunna lösa det med men det blir mycket bökigare.
Om du vill konvertera direkt när du skriver från tangentbordet blir det enklare med Select Case.Sv: DOS tecken /ANSI/ASCII
<Code>
Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Private Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Function Char2Oem(aSrc As Variant) As String
On Error GoTo fel
Dim src As String, dst As String
If IsNull(aSrc) Then GoTo fel
src = aSrc: dst = aSrc: CharToOem src, dst: Char2Oem = dst: Exit Function
fel: Char2Oem = ""
End Function
Public Function Oem2Char(aSrc As Variant) As String
On Error GoTo fel
Dim src As String, dst As String
If IsNull(aSrc) Then GoTo fel
src = aSrc: dst = aSrc: OemToChar src, dst: Oem2Char = dst: Exit Function
fel: Oem2Char = ""
End Function
</code>Sv: DOS tecken /ANSI/ASCII