我为包含"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