次の方法で共有

アクセス2013 Webブラウザコントロールの印刷

Anonymous
2014-06-26T15:33:17+00:00

アクセスでGoogleマップ  Ver 2

http://www.tsware.jp/download/accgmap/

上記サイトを参考に、手持ちの住所テーブルからグーグルマップを表示させています。

このグーグルマップのWebブラウザを印刷する方法はないでしょうか?

レポートにはWebブラウザコントロールを張れないので、代わりにイメージコントロールを置いて、コピペでできないかと思っています。

フォームの印刷ではなく、レポートでの印刷が希望です。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2014-06-27T16:50:27+00:00

日本語表記で指定するにはどのようにするのでしょうか?

Google Static Maps API によると、住所で指定するときは、URL エンコードする必要があるようですね。

テストコード

Sub URLDownloadSample()

    GetImageFile "http://maps.google.co.jp/maps/api/staticmap?markers=" & _

                 urlEncode("東京駅|神田駅") & _

                 "&zoom=14&size=1300x1200&language=jp&sensor=false", _

                 "C:\sample.jpg"

End Sub

Sub GetImageFile(ImgName As String, SaveName As String)

    Dim SaveFileName As String, DownloadFile As String, Ret As Long

    If ImgName = "" Then Exit Sub

    SaveFileName = SaveName

    DownloadFile = ImgName

    Ret = URLDownloadToFile(0, DownloadFile, SaveFileName, 0, 0)

    If Ret = 0 Then

        MsgBox "ダウンロードできました"

    Else

        MsgBox "エラーが発生しました"

    End If

End Sub

Function urlEncode(str As String) As String

    With CreateObject("ScriptControl")

        .Language = "Jscript"

        urlEncode = .CodeObject.encodeURIComponent(str)

    End With

End Function

ちなみに、VBAの String は2000以降、ユニコード化されているので、UTF-8変換は必要ないです。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-06-28T12:25:15+00:00

    なんとも、無知なばっかりに!!

    お陰様で先に進めそうです。誠に、ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2014-06-27T15:19:07+00:00

    ご回答、ありがとうございます。

    日本語表記で指定するにはどのようにするのでしょうか?

        Dim strm As New ADODB.Stream

        Dim strData As String

        Dim ret As Long

       ' strData = "http://maps.google.co.jp/maps/api/staticmap?markers=35.681382,139.766084|35.69169,139.770883&zoom=14&size=1300x1200&sensor=false"

       ’上記はOK  東京駅>>35.681382,139.766084 神田駅>35.69169,139.770883

        strData = "http://maps.google.co.jp/maps/api/staticmap?markers=東京駅|神田駅&zoom=14&size=1300x1200&sensor=false&hl=ja"

      '日本語で扱いたいので  最後に&hl=ja を付ける   が、これではうまくいかない

      ’以下は UTF-8に変換するため、とりあえず苦し紛れで・・・

        With strm

            .Charset = "UTF-8"

            .Open

            .WriteText strData

            .SaveToFile CurrentProject.Path & "\test.txt", adSaveCreateOverWrite

            .Close:

        End With

        With strm

            .Type = adTypeText

            .Charset = "UTF-8"

            .Open

            .LoadFromFile (CurrentProject.Path & "\test.txt")

            strData = .ReadText(adReadLine)

            .Close

        End With

        Set strm = Nothing

        ret = URLDownloadToFile(0, strData, CurrentProject.Path & "\sample.jpg", 0, 0)

        If ret = 0 Then

            MsgBox "成功しました"

        Else

            MsgBox "エラーが発生しました"

        End If

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2014-06-27T00:44:51+00:00

    アイデアだけです。

    Google Static Maps API  で指定した座標のMap画像を取得できます。

    例えば、

    http://maps.google.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&sensor=false

    というようにURLで画像にアクセスできます。

    これをWin API の URLDownloadToFile を利用してダウンロードします。

    Office TANAKA - 番外編\[画像をダウンロードする\]

    ダウンロードした画像ファイルのパスをイメージコントロールのソースに指定します。

    下記のコードでMap画像をダウンロードできるのは確認しました。

    Public Declare Function URLDownloadToFile Lib "urlmon" _

        Alias "URLDownloadToFileA" (ByVal pCaller As Long, _

        ByVal szURL As String, ByVal szFileName As String, _

        ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

    Sub URLDownloadSample()

        GetImageFile "http://maps.google.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&sensor=false", "C:\sample.jpg"

    End Sub

    Sub GetImageFile(ImgName As String, SaveName As String)

        Dim SaveFileName As String, DownloadFile As String, Ret As Long

        If ImgName = "" Then Exit Sub

        SaveFileName = SaveName

        DownloadFile = ImgName

        Ret = URLDownloadToFile(0, DownloadFile, SaveFileName, 0, 0)

        If Ret = 0 Then

            MsgBox "ダウンロードできました"

        Else

            MsgBox "エラーが発生しました"

        End If

    End Sub

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません