在Excel文本框中插入超文本链接

在Excel文本框中插入超文本链接,excel,vba,hyperlink,textbox,Excel,Vba,Hyperlink,Textbox,我有一张带有文本框的工作表,是用VBA创建的: With Worksheets(1) .Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 100, 100).TextFrame.Characters.Text = _ "Some text here" & LinkHere & "Maybe more text here" 我想在文本框的文本中插入链接,但找不到vba代码来执行此操作。 我要添加的链接就是一

我有一张带有文本框的工作表,是用VBA创建的:

With Worksheets(1)
  .Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 100, 100).TextFrame.Characters.Text = _
      "Some text here" & LinkHere & "Maybe more text here"
我想在文本框的文本中插入链接,但找不到vba代码来执行此操作。 我要添加的链接就是一个
“mailto:”
链接

编辑


实际上,文本框不能有可用的链接,所以我的第二个问题是:我可以使用什么对象来获得格式良好的文本和链接?

好的,那么,我将使用label

以下是我找到的最好的:

With Worksheets(1)
 Dim l:l as Shape = .Shapes.AddLabel(msoTextOrientationHorizontal, 0, 0, 100, 100)
 l.TextFrame.Characters.Text = "link text here"
 .Hyperlinks.Add l, "mailto:someone@example.com"

超文本链接设置为此处的整个标签,然后我必须将其精确地放置为文本的覆盖。

听起来是个不错的计划。有什么问题吗?请记住,如果它是一个可以键入的框,则不能使其成为功能超链接。我没有找到如何使用vba插入该链接。这是正确的,链接是不可用的。我可以使用更好的对象吗?您可以使用标签,然后将其样式设置为链接,然后在单击事件上添加一些代码以打开链接,但这几乎是使用VBA所能达到的效果-a
TextBox
包含纯文本。超链接并不是这样。如果您使用的是32位主机,则可以使用格式化RTF文本的
RichTextBox
,这可能(不知道)支持超链接,但在64位主机上不起作用,因此我不推荐使用它。为什么不让您的UI保持美观和简单,让控件在所有主机上都能正常工作,而不管比特数是多少?如果您想要fancypants UI,请不要在VBA中使用。