2

メールで配布されるレポートを実行しています。電子メールには、レポートへのハイパーリンクと、レポート コンテンツのスナップショットとしてそこからコピーされたセル範囲があります。自動化しようとして VBA を見つけましたが、私はプログラマーではないので、必要に応じて変更することはできません。

以下の VBA は、ほとんどの方法で私を取得しますが、2 つの欠点があります。

1) メールで参照している特定のファイルを指すハイパーリンクが必要です。このファイルは毎日変更されます (つまり、一意のワークブックが作成されます)。以下は、静的ハイパーリンクを使用しています。セル参照からハイパーリンクを取得する方法を見つけようとしていました。

2) ハイパーリンクとセルの範囲を Excel から電子メールにコピーする場合、ハイパーリンクの下のセルが必要です。以下は、ハイパーリンクの上に範囲を配置します。

ワークシートを参照して電子メールを取得する、以下の VBA で採用されているアプローチを保持したいと思います。配布される他のレポートに簡単に展開できるようです。

サブ CreateMail()

    Dim rngSubject As Range
    Dim rngTo As Range
    Dim rngCc As Range
    Dim rngBody As Range
    Dim objOutlook As Object
    Dim objMail As Object

    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)
        With ActiveSheet
        Set rngTo = .Range("B1")
        Set rngCc = .Range("B3")
        Set rngSubject = .Range("B2")
        Set rngBody = .Range("H6:K22")

    End With
    rngBody.Copy
     With objMail
        .Body = "Please click on the link below..." & vbCrLf & "rngBody.Paste" & vbCrLf & _
"file:\\dbd03\nccode\Router_Proc\04Routing.txt"
    End With
    With objMail
        .To = rngTo
        .Cc = rngCc
        .Subject = rngSubject

        .Display
    End With
    SendKeys "^({v})", True

    Set objOutlook = Nothing
    Set objMail = Nothing
4

1 に答える 1