• ベストアンサー

文字列操作が分かりません

VB2008で文字列を加えるプログラムを組んでいるのですが、下記のリストのようにダブルクォーテーションで囲まれた文字列が旨く処理出来ません。 ダブルクォーテーションをダブルクォーテーションで括るのはできないのでしょうか。 どなたかご教授下さいませ。 よろしくお願いいたします。 1. Dim data1 As String = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">" //W3Cの//で(式が必要です)エラーがでます。 演算と間違われているのでしょうか。 2. Dim data2 As String = "<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">" "<meta http-equiv=" この箇所でエラーが出ており、以下のエラー文です。 (文字定数には一文字のみを指定しなけばならない) 以上 よろしくお願い致します。

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

  • ベストアンサー
noname#101303
noname#101303
回答No.2

Dim data1 As String = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">" Dim data2 As String = "<meta http-equiv=""Content-Type"" content=""text/html; charset=Shift_JIS"">" で、どうでしょう?

robotanmarch
質問者

お礼

ありがとうございました。 お陰様でこの方法も旨く動作しました。 ダブルクォーテーションの使い方がイマイチ分からなかったのですが、本当に助かりました。 参考にさせて頂きます。

その他の回答 (1)

  • ml_4649
  • ベストアンサー率14% (123/860)
回答No.1

"<!DOCTYPE HTML PUBLIC " & chr(34) & "-//W3C//DTD HTML 4.01 Transitional//EN" & chr(34) & ">" "<meta http-equiv=" & chr(34) & "Content-Type" & chr(34) & " content=" & chr(34) & "text/html; charset=Shift_JIS" & chr(34) & ">"

robotanmarch
質問者

お礼

旨く動作しました。 ありがとうございました。 コードをダイレクトに挿入するといい方法があったのですね。 認識を新たにしました。 これから参考にさせて頂きます。 本当に助かりました。

関連するQ&A

  • VBAの文字列の中に”(全角のダブルコーテーション)を使う

    VBAのStringの中に”(全角のダブルコーテーション)を使おうとしているのですが、VisualBasicEditorにより自動的に ""(半角のダブルコーテーション2つ)に変換されてしまいます。 Dim str as String str = "abc”def"    ↓ str = "abc""def" 文字列中に全角のダブルコーテーションを使う方法を教えてください。よろしくお願いします。

  • エクセルVBAで ” をテキスト出力したい

    ExcelVBAで、ダブルコーテーションを含む文字列をテキスト出力したいです。 下記を出力したいのですが書き方がわかりません。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> × Print #1,"<meta http-equiv=" & """ & "Content-Type" & " content=" & """ & "text/html; charset=UTF-8" & """ & ">" エラーになってしまします。 記述方法をご教示ください。

  • VBA EXCEL ""の付いた文字列に""""を読み込んで""""をつける方法

    EXCELのダブルクォーテーションの付いた文字列を読み込んで""""""をCSVファイルに書き込むためにはどのように記述したらよいでしょうか? CSVファイルにデータの出力はできていますがダブルクォーテーションが一つしか入らないという状況なので分かる方がいらしたら、ご教授の程お願いします。 です。 Private Const g_cnsCOLEDIT = "77777777777777777777777777777777777777777777777777" Private Function FP_EDIT_COLUMN(SH As Worksheet, GYO As Long, COL As Long) As String Dim strTEXT As String strTEXT = Trim(SH.Cells(GYO, COL).Value) Select Case Mid(g_cnsCOLEDIT, COL, 1) Case "7" ' 自動判定(ダブルクォーテーションの付いた文字のみ「""」囲い) If strTEXT = "" Then FP_EDIT_COLUMN = strTEXT ElseIf strTEXT = g_cnsDQ Then ' ダブルクォーテーション FP_EDIT_COLUMN = g_cnsDDQ & strTEXT & g_cnsDDQ Else FP_EDIT_COLUMN = strTEXT ' その他(文字列) End Select ' カラムを加算 COL = COL + 1 End Function

  • エクセルVBAでHTMLへの書き出し 余分なダブルクォーテーションが消したい

    お世話になります。 現在下記のようなVBAを組んでみて、なんとかエクセルの複数シートを一括でHTMLとして出力できないか試行錯誤しています。 しかし、どうしても各文字列がダブルクォーテーションで囲まれてしまい、かつ、HTML上に本来存在していてもらわないといけないダブルクォーテーションが2重になってしまう(本来一個あればOKなところに余分にもう一個ついてしまう)という状態です。 おそらくマクロの中身が思いっきり違うのだろうと思うのですが、いかんせんよく分かりません。以下に実際の中身とその結果出てきてしまったものを記載しますので、なにとぞ、ご教授をお願いいたします。 ■実際に使っているマクロの中身 Sub Test() Dim ws As Worksheet On Error Resume Next For Each ws In ActiveWorkbook.Worksheets ws.SaveAs ThisWorkbook.Path & "\" & ws.Name & ".html", xlUnicodeText Next ws End Sub ■結果として出力されてしまうHTML(まがいの何か) "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd"">" "<html lang=""ja"" dir=""ltr"">" <head> "<meta http-equiv=""Content-Type"" content=""text/html; charset=Shift_JIS"">" "<meta http-equiv=""Content-Style-Type"" content=""text/css"">" "<meta http-equiv=""Content-Script-Type"" content=""text/javascript"">" "<link href=""css/style.css"" rel=""stylesheet"" type=""text/css"" media=""screen, tv"">" "<script type=""text/javascript"" src=""/common/js/search.js""></script>" ■本当はこうしたいHTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <link href="css/style.css" rel="stylesheet" type="text/css" media="screen, tv"> <script type="text/javascript" src="/common/js/search.js"></script> 以上となります。

  • 文字列の中の1文字を比較するには?

    XP,Studio.NETでC++を書いています。 文字列の中の1文字を比較したいのですがどのようにしたらいいのかわかりません。 今以下のような文字列がstring[300]に入っているとします。 「\nは改行コードです。printf("");では"から"までの文字が画面に表示されます。」 このとき、1文字ずつを取り出し、文字を比較したいのですが (iを増加) if(string[i]=='\') flag=1; //処理→次にnが来る。 if(string[i]=='"') flag=2; //処理→文字はダブルコーテーション という処理をしたいのですが、 エラー:定数が多すぎます。 エラー:定数が2行目に続いています。 と出ます。どうしたらいいのでしょうか? どなたか教えていただけると幸いです。

  • IEでエラー

    FireFoxだと問題ないのですが、IEだとエラーが出ます。 原因がわからないので、助けてください。 IEには次のようなエラーが出ます。 ライン:5 文字:1 エラー:構文エラーです コード:0 ソースコードは以下の通りです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> 。。。。 以上、すみませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • VBA での文字列編集

    すみません、VBA初心者であまり調べる時間がないので質問させて頂きます。 Dim strFileName As String Dim strChk1 As String Dim strChk2 As String strFileName には "20070703_TEST001_DATA.csv" の文字列のデータが 格納されているとします。 この strFileName を編集して strChk1 には "20070703" strChk2 には "TEST001" がセットされるようにしたいのですが。。。 どのようにプログラムを書くのが一番いいのでしょうか? よろしくお願いします。

  • フレームページに文字が表示されなくて困ってます><

    フレームページに文字が表示されなくて困ってます>< フレームページは表示されるのですがmenu.html.htmlやcontents.html.htmlに書いた文字が表示されません どこが間違っているのでしょうか? ーーフレームページーー <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タトル</TITLE> </HEAD> <FRAMESET cols="100,*"> <FRAME name="menu.html.html" src="file:///D:/happystyle/menu.html.html"> <FRAME name="contents.html.html" src="file:///D:/happystyle/contents.html.html"> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> ーーmenu.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像置き場 </BODY> </HTML> ーーcontents.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像表示 </BODY> </HTML> というHTMLを書きました! フレームに表示させたいページのHTMLはフレームと同じフォルダに入っているのですがこれと関係ありますか? どこがおかしいのかまったくわからないです 教えてください!

  • マクロ(VBA)での文字列操作

    こういうことできますか? Dim str as String str = Cells(1, 10) Length = Find("会計", str) つまり、エクセル上のセル内の文字列を取ってきて、 会計という文字列を含む場所が何文字目か知りたい。 ところが、Find関数か認識されずエラーが出ます。 Searchにしても同じです。 エクセル関数としては使えるのですが、マクロでは使えないのですか?

  • .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()

専門家に質問してみよう