■ ボタンを作るコード
Private Sub MakeButton(ByVal row As Long)
'
' @brief ボタンを作る
' @note
' @date May 10, 2018
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim strOnAction As String
' strOnAction = "'Module1.UpdateButtonClick " & Chr(34) & row & Chr(34) & "'"
strOnAction = "'UpdateButtonClick(" & row & ")'"
' strOnAction = "'UpdateButtonClick(""" & row & """)'"
' ボタンを作成
With ThisWorkbook.Sheets("MailAddressData").Buttons.Add(Cells(row, 5).Left + 1, _
Cells(row, 5).Top + 1, _
Cells(row, 5).Width - 1, _
Cells(row, 5).Height - 1)
.OnAction = strOnAction ' ハンドラ関数(文字列)
.Font.Size = 8 ' フォントサイズ
.Font.name = "Meiryo" ' フォントファミリ
.Characters.Text = "Update" ' キャプション
End With
End Sub
■ ボタンをクリックしたときに呼ばれるコード
'Private Sub UpdateButtonClick(ByVal ClickRow As String)
'Public Sub UpdateButtonClick(ByVal ClickRow As String)
'Private Sub UpdateButtonClick(ByVal ClickRow As Long)
Public Sub UpdateButtonClick(ByVal ClickRow As Long)
'
' @brief ボタンがクリックされた
' @note
' @date May 10, 2018
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim strMailAddress As String
Dim strPageUrl As String
Dim objIE As Object
' オープンするURLを作る
strMailAddress = ThisWorkbook.Worksheets("MailAddressData").Range("A1").Offset(ClickRow - 1, 0).Value
strMailAddress = Replace(strMailAddress, "@", "%40")
strPageUrl = PAGE_URL & strMailAddress
----- 以下企業秘密のため省略 -----
注)PAGE_URL はConstで定義している文字列
お蔭さまで上手くいった。
そうそう、呼ばれる側、Publicにしないとうまく行かない。てか、標準モジュールに書いてるのがいけないのかもしれない。
シート側に書いて、シート名で修飾してやれば上手くいくのかも...。
--
☁ のち ☀
No comments:
Post a Comment