• ベストアンサー

.Netでの、文字列の中の「

VB.Netで、下記文字列をテキストファイルに追記してるのですが、「印刷」の文字が化けてしまいます。 日本語を送る場合には、何か記述方法がことなるのでしょうか? (日本語がなければ、うまくいくのですが・・・) ご存知の方がいらっしゃいましたら、ご教授下さい。 宜しくお願いします。 送りたい文字列:  status = "印刷 : Alt+P" 現在の記述:  Dim wka As String  wka = "status = '印刷 : Alt+P';"

  • qunao
  • お礼率62% (18/29)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

テキストファイルに出力するときに エンコード指定してないからかと。 Dim sw As New StreamWriter("c:\test.txt", False, System.Text.Encoding.Default) sw.Write(wka) sw.Close() とか。

qunao
質問者

お礼

ありがとうございます。 早速、試してみます!

関連するQ&A

  • 文字列を配列に…。

    VBはまだ始めたばかりで本当に初歩的なことかもしれませんが分かる方がおられたら是非教えて下さい。 text1.textから取り込んだ文字列を”一文字ずつ”(Dim a(100) as stringで宣言した)配列に格納したいのですがどうしたらいいのでしょうか?? <例>text1.textに"abc"と入力しcommandbuttonを押すとa(0)に"a"がa(1)に"b"がa(2)に"c"が格納されるといったかんじです。 ちなみに今私がしたいのはtext1.textに、ある文字列を入れその文字列を文字コードに変換しそれを一文字分ずつ+1してまたそのコードを文字に直しtext2.textに出力するというものです(ようは簡単な暗号化ですね)。 私はAscとChrコマンドを利用して1文字ずつコードをずらしていこうと思っているのですが、他に良い方法などあるのでしょうか?? 本当に初心者でどのようにしらたよいのか分かりません…。 どなたか分かりやすく教えていただけませんでしょうか?? お願いします。

  • 文字列の括弧について(初心者)2

    文字列の括弧について(初心者) http://oshiete1.goo.ne.jp/kotaeru.php3?q=1110818 の質問の続きなのですが、 文字列の中で( )を1セットで使う方法を教えてもらったので自分の使用するプログラムに少し直したのですが、やはり2つ以上の括弧(カッコ)にも対応しなければならなくなりました。 どのようなプログラムになるのでしょうか? 私はInstrは文字列を左からよんでいって最初にある指定した文字(下記の例だと"("など)の場所を何文字目か示してくれるだけなので1つの括弧にしか対応できないと考えています。 なので文字列の中に指定した文字が何個含まれているか調べて、それぞれ何文字目か示してくれるプログラムが あればできると考えています。 どうか教えてください、おねがいします。 ↓今のプログラム Dim bucketL as Long Dim bucketR as Long Dim a as String Dim b as String a=Text1.text bucketL = InStr(a, "(") bucketR = InStr(a, ")") If bucketL < bucketR And bucketL * bucketR <> 0 Then Text2.text = "OK" End If

  • 文字列を変数名として扱う方法

    vb6.0 か vb.net で文字列を変数名として扱うにはどうすればいいでしょうか? 例をあげると下記のようなことです。 -------------------- dim abc as string dim x as string abc = "テスト" x = "b" msgbox "a" & x & "c" -------------------- これをそのままvb6.0で実行すると"abc"という文字が表示されますが "abc"ではなく"テスト"と表示させたいのです。 つまり msgbox abc とした場合と同じようにしたいのですが可能でしょうか? ご存知の方教えてください。 よろしくお願いします。

  • .NET 文字コードの変換

    VB2008で文字列を他の文字コードにする方法が知りたいです。 何かしての部分がわかりません。 VB2005でも使えるものだったらうれしいです。 Dim str_sjis as string Dim str_euc as string = "パソコン" '例えばEUC-JP '''何かして str_sjisにシフトJISで文字列が入っている。 .Netの文字コードの変換の仕方がごちゃごちゃして分かりづらいです。

  • ASP.NETの質問なのですが、文字列の引き算は可能でしょうか?

    ASP.NETの質問なのですが、文字列の引き算は可能でしょうか? dim a as string = "abcde" dim b as string = "cde" dim c as string c = a- b このようなコードでcの答えをabとして表示できるでしょうか? ご存知の方がいらっしゃりましたらアドバイスお願いいたします。

  • vb2008で文字列から文字列コードを取得する方法

    サイトHTMLをWebBrowserを使用せずに取得するために、 Dim stream As System.IO.Stream = client.OpenRead(tbItemURL.Text) Dim reader As New System.IO.StreamReader(stream) Dim strHtml = reader.ReadToEnd() reader.Close() stream.Close() のような形で文字列を取得しています。 しかし、この場合Sift-jis等の場合、後の作業(一部データ取得)で文字化けに悩まされます。 http://dobon.net/vb/dotnet/string/detectcode.html 上記サイトで「バイト配列」に格納して判別する方法があります。 そこで、文字列をバイト配列に格納しようとしますが…。 文字列→バイト配列には文字コードが必要となります。 Dim data() As Byte = Encoding.UTF8.GetBytes(text) なんだか鶏と卵のような感じになってしまいます。 文字列から文字コードを判別する方法はないでしょうか? よろしくお願いします。

  • VB.NETでExcelの数式バーの処理をさせたい

    Excelのセルにいろいろな数式が入っていて、 この数式を書き出したテキストファイルを読み込ませて、 VB.NETで処理をしたいのですが、 VB.NETで、Excelの文字列関数を含んだ式を処理するには どのように記述すればよいでしょうか。 単なる計算式であれば  Dim xlApp As New Excel.Application  Dim str1 As String  Dim x As Integer  a = "3600 / 60 + 5000"  x = xlApp.Evaluate(a) でできるのですが文字列だとうまくいきません。 例えば、ExcelのシートのA1セルを選択して 数式バーに =MID("ABCDE",2,3) と入力すると その結果のBCDがA1セルに得られますが VB.NETで、 =MID("ABCDE",2,3) から BCD を得るにはどのようにすればよいでしょうか。 なお、=MID("ABCDE",2,3) の式は一例であって、 以下のように、この式をVB.NETで記述する 仕方を知りたいのではありません。  Dim str1, str2 As String  str1 = "ABCDE"  str2 = str1.Substring(2, 3) よろしくお願いします。 (VisualStudio2010 , Excel2003 , WindowsXP SP3)

  • .NETで文字列のエンコードの仕方+ファイル操作

    .NETで文字列のエンコードの仕方が知りたいです。 あと、ファイル操作についてわかりやすいホームページを探しています。 '指定したファイルに文字列を追加します Dim filename as String = "test.txt" Dim data as string = "美味ソ溝" System.IO.File.AppendAllText(filename, data, System.Text.Encoding.GetEncoding("euc-jp")) 'これと同じことを以下のStreamWriterでしたいのですが、文字のエンコードの方法がわかりません。どのようにすればうまくいきますか。 Dim filename as String = "test.txt" Dim data as string = "美味ソ溝" Dim fs As System.IO.FileStream = System.IO.File.OpenWrite(filename) Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(fs) sw.BaseStream.Seek(0, System.IO.SeekOrigin.End) '書き込む前にエンコード?? sw.WriteLine(data) sw.Flush() sw.Close() fs.Close()

  • 文字列の分解・格納

    お世話になります。 文字列の分解についてお聞きします。 環境はVB.NET2008です。 Private Sub Main(ByVal CmdArgs() As String) Dim cmds() As String cmds = System.Environment.GetCommandLineArgs() End Sub コマンドライン引数で以下のように文字列を取得しています。 ("起動exe", "/KEY=○○○/ テーブル名=△△△") この文字列を元に、 変数Aに○○○を変数Bに△△△を代入したいのですが、どうやるのでしょうか? ご教示願います。

  • ソフトウェアキーボード使ってテキストボックスの文字列末尾に文字列追加

    VB.NET WindowsMobile5.0にて開発してます。 A~Z、0~9までのソフトウェアキーボードをボタンコントロールで配置して作成してます。(WindowsMobileのPADではない) テキストボックスに各ボタンクリックイベント(A~Z、0~9)毎に文字列を連結させながら表示させたいのですが 文字列の末尾に文字を追加したい場合どうすれば良いでしょうか? 各画面にソフトウェアキーボードがあるので ファンクションを使ってクリックがある度に末尾に文字を追加していきたいので下記の様に書きクリックイベントで呼ぼうとしましたが駄目でした。 Public Function TextInsert(ByVal TI As Char) Dim str1 As String Dim str2 As String str2 = str1 '前回文字列保存 str1 = TI  '今回文字列格納 str1 = str1 & str2 '文字列連結 Return str1    '結果を戻す End Function なにかもっと簡単で良い方法ありませんか? ものすごく初歩的なことで申し訳ありませんがご教授お願いします。