Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Si, lo so.
Però per correttezza questa domanda va fatta in questo forum:
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Salve a tutti, sto cercando di tradurre in VB.NET una vecchia applicazione scritta in VBA e ho problema con lo StrConv e il vbUnicode.
In VBA per Excel ho questo:
Dim keyInBytes() As Byte
Dim keyByteString As String
keyByteString = StrConv(keyInBytes, vbUnicode)
dove:
keyInBytes è un array con un'unica colonna contenente i seguenti dati {171, 25, 82, 253, 173, 182, 233, 84, 84, 199, 208, 121, 62, 110, 103, 2, 21, 145, 140, 19, 94, 7, 199, 73
}
In questo modo keyByteString è uguale a questo valore:
In VB.NET ho provato in diversi modi a riprodurre lo stesso risultato:
keyByteString = System.Text.Encoding.GetEncoding(1252).GetString(keyInBytes)
risultato --> "«" & ChrW(25) & "Rý¶éTTÇÐy>ng" & ChrW(2) & ChrW(21) & "‘Œ" & ChrW(19) & "^" & ChrW(7) & "ÇI"
keyByteString = System.Text.Encoding.Unicode.GetString(keyInBytes)
risultato --> "ᦫﵒ뚭哩읔秐渾ɧ鄕ᎌݞ䧇"
keyByteString = System.Text.ASCIIEncoding.ASCII.GetString(keyInBytes)
risultato --> "?" & ChrW(25) & "R????TT??y>ng" & ChrW(2) & ChrW(21) & "??" & ChrW(19) & "^" & ChrW(7) & "?I"
etc...
Ma in nessuno di questi metodi ottengo lo stesso risultato ottenuto con VBA (il metodo che ci va più vicino è il primo ma si perde alcuni caratteri).
Il problema sono alcuni caratteri (credo quelli sotto al ChrW(32)) che vengono trovati e decodificati in un modo con il codice di VBA ma non vengono trovati e decodificati con il codice VB.NET.
Sapete come posso fare per ottenere con VB.NET lo stesso risultato di VBA?
Grazie in anticipo per gli eventuali aiuti.
Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.
Risposta accettata dall'autore della domanda
Si, lo so.
Però per correttezza questa domanda va fatta in questo forum: