2017-12-21 4 views
0

하나의 셀에 이메일 주소가 입력 된 Mailto Link와 3 개의 다른 셀로 구성된 전자 메일 본문 인 mailto Strin을 코드 스 니펫에 작성하는 매크로가 있습니다. 그런 다음이 링크를 특정 셀에 배치해야합니다. 하이퍼 링크를 추가 할 때 VBA에서 VBA가 발생합니다.

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

그러나 가끔 위의 코드에서

오류 1004

를 얻을. 전자 메일 본문 부분을 제거하면 문제가 해결되므로 원래는 mailTo String 길이와 관련이 있다고 생각했습니다. 그러나 이것은 다른 길이의 문자열로 작업하게 만들었 기 때문에 그럴 것 같지 않습니다.

Hyperlinks.Add 함수가 실패 할 수있는 다른 가능한 이유는 무엇입니까?

+0

변수 Row 및 mailTo에는 무엇이 들어 있습니까? Variable Row가 정확하고 Mailto 변수에 "mailto : [email protected]"또는 "mailto : [email protected]? subject = YourSubject"와 같은 값이 포함되어있는 한 믿을 수 있습니다. – Xabier

+0

결국 mailto가 얼마나 오랫동안 지속될 수 있는지에 대한 제한이있는 것처럼 보입니다. 잘못된 장소에서 찾고있었습니다. – DriveThomas

답변

1

하이퍼 링크는 될 수있는 기간에 제한이 보인다는 len 함수에 의해 반환 2,012 자.

내가 원래 발견하지 못한 이유는 mailto로 변환하기 전에 메일 텍스트 만보고 있었기 때문입니다.

변환은 새로운 행과 공백을 각각 % 0A와 % 20으로 바꿉니다. 그래서 "Hello World"는 11 자이지만 Mailto에서는 "Hello % 20World"처럼 보이고 길이는 13입니다. 변환하기 전에 Text를보고 있었기 때문에 공백을 추가/제거하면 나처럼 보였습니다. 작업 길이가 다른 우편물.

내가 찾던 내용이 아니더라도 제안을 한 사람 모두에게 감사드립니다. 나는 이것이 이것이 미래에 도움이 될 수 있기를 희망합니다.

2

여러 가지 이유가있을 수 있습니다. 예를 들어, 이 수 있습니다 :

enter image description here

+1

@Vityata 감사합니다 –

+0

당신은 환영합니다 :) – Vityata

관련 문제