アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスのテーブルをTransferTextでエクスポートし、
そのソースの中身のタグをVBAで置換したいのですが

Sub test1()
Dim objIE As Object
Dim myStr As String
Dim t As String

t = "Table"

DoCmd.TransferText acExportHTML, , t, MyDesktop & "\" & t & ".html", True

Set objIE = CreateObject("MSXML2.XMLHTTP")
objIE.Open "GET", MyDesktop & "\" & t & ".html", False
objIE.send

myStr = objIE.responseText
myStr = Replace(myStr, "<TD DIR=LTR ALIGN=RIGHT>", "<TD>")
Debug.Print myStr

Set objIE = Nothing

End Sub

これだと、日本語部分が?になってしまいます。

なので、
myStr = objIE.responseText

myStr = StrConv(objIE.responseText, 64)
に変更したら、余分なスペースが入り、結局文字化けしたままです。

http://www2s.biglobe.ne.jp/iryo/vba/IE/http1.html
を参考にしたのですが、日本語を含むソースの場合はどうすればいいでしょうか?

A 回答 (3件)

HTMLで出力する際に UTF-8のコードページで出力するようにしてやればいいと思いますよ



DoCmd.TransferText acExportHTML, , t, MyDesktop & "\" & t & ".html", True

DoCmd.TransferText acExportHTML, , t, MyDesktop & "\" & t & ".html", True,,65001
としてやって

myStr = StrConv(objIE.responseText,4)
または
myStr = objIE.responseText
といった具合で …
    • good
    • 0
この回答へのお礼

エクスポートする時に文字コードを指定しちゃえばいいのですね。
できました。

お礼日時:2013/02/28 19:56

取得した文字列が 全角になってしまっているように見受けられたので念のために 半角変換を実行したまでですよ



不具合が無ければ objIE.responseTextをそのまま使ってもいいかと …
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/03/04 20:09

' vbNarrow のつもりだったので ,4ではなく ,8ですね


myStr = StrConv(objIE.responseText, 8)
    • good
    • 0
この回答へのお礼

「,,65001」を付け足すことによって文字化けは回避できたのですが
myStr = StrConv(objIE.responseText, 8)
で半角にするのは何の為なのでしょうか?
教えて頂ければ助かります。

お礼日時:2013/02/28 19:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!