将网站链接粘贴到word文档中,格式非常特殊



我为包含"https://www."一开始,效果很好

我想创建一个宏,不管它是否以开头

  • http://www.
  • https://www.
  • https://
  • http://

以这种特定格式粘贴链接。我来自Python,不熟悉VBA。在python中,我会做这样的事情:

if "http://www." in mylink:
replace("http://www.", "")

对于上述子弹中的每一个。

如何在VBA中执行类似操作?

这是我当前删除"https://www."并根据需要格式化链接(带下划线,大小10,括号内(

`Sub piclink()
'
' piclink Macro
'
'
Application.Run MacroName:="Normal.NewMacros.PS"
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=12, Extend:=wdExtend
Selection.TypeBackspace
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
If Selection.Font.Underline = wdUnderlineNone Then
Selection.Font.Underline = wdUnderlineSingle
Else
Selection.Font.Underline = wdUnderlineNone
End If
Selection.HomeKey Unit:=wdLine
Selection.TypeText Text:="("
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine
Selection.TypeText Text:=")"
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Shrink
Selection.Font.Shrink
Selection.Font.Shrink
End Sub`

我会注意到"Application.Run MacroName:="Normal.NewMacros.PS"是一个简单的复制粘贴功能。

尝试:

Sub Demo()
With Selection.Range
.Paste
If InStr(.Text, "www.") > 0 Then
.Text = "(" & Split(.Text, "www.")(1) & ")"
ElseIf InStr(.Text, "://") > 0 Then
.Text = "(" & Split(.Text, "://")(1) & ")"
End If
.Font.Size = 10
.Start = .Start + 1
.End = .End - 1
.Font.Underline = True
End With
End Sub

最新更新