2017-12-21 26 views
0

1つのセルに入力された電子メールアドレスと3つの異なるセルで構成されたmailto Strinがコードスニペットで構成されたMailto Linkを作成します。このリンクは、特定のセルに配置する必要があります。私は時々、上記のコードでハイパーリンクを追加するとVBAがスローされます

エラー1004

を得るしかし

With Sheets("Menu") 
    .Hyperlinks.Add _ 
     anchor:=.Cells(row, 8), _ 
     Address:=mailTo, _ 
     TextToDisplay:="mailTo", _ 
     ScreenTip:="MailTo link" 
End With 

。電子メール本文の一部を削除することで問題が解決されたので、元々mailTo Stringの長さに関係していると思っていました。しかし、私はそれが異なる長さの文字列で動作するようになって以来、これはそうではないようです。

Hyperlinks.Add機能が失敗する可能性があるその他の理由はありますか。

+0

変数RowとmailToにはどのようなものがありますか?変数Rowが正しく、変数Mailtoが "mailto:[email protected]"や "mailto:[email protected]?subject = YourSubject"のようなものを含んでいれば、これはうまくいくはずです。 – Xabier

+0

結局、メールがどれほど長く続くかには限界があるようですが、間違った場所を探していました。 – DriveThomas

答えて

1

len関数によって返される2012の文字、ハイパーリンクがいかに長い間には限界があると思われます。

私が最初にこれを発見しなかった理由は、私がmailtoに変換する前にメールテキストを見ているだけだったからです。

変換によって、新しい行と空白がそれぞれ%0Aと%20で置換されます。だから "Hello World"は11文字ですが、Mailtoではこの "Hello%20World"のようになり、長さは13です。変換前のTextを見ていて、スペースを追加/削除していたので、さまざまな長さのメールが働いています。

私が探していたものではないにもかかわらず、提案があった皆様に感謝します。私は、これが将来他の人に役立つことを願っています。

2

いくつかの理由が考えられます。例えば、はことがあります

enter image description here

+1

@Vityata thanks –

+0

あなたは歓迎です:) – Vityata

2

あなたは*この直面して実行されている可能性があり、最大値の65536ワークシートのハイパーリンクの制限があります。

そうであれば、代わりにExcelのHYPERLINKの書式を使用することができます。

*(https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3?CorrelationId=6fdacf7e-c207-4932-a46d-b82e7fa0679b&ui=en-US&rs=en-US&ad=US&ocmsassetID=HP010342495を参照)

関連する問題