从单元格中删除超链接也会删除格式。
Selection.Hyperlinks.Delete
有没有办法保留格式,或者我是否需要在删除超链接后重新应用它?
答案 0 :(得分:3)
我发现解决方案是打电话
SET @query = 'bcp "SELECT Data FROM tempdb..##tblData ORDER BY ID" queryout C:\Data\MedicalPolicy.csv -c -t, -T -S' + @@servername
EXEC master..XP_CMDSHELL @query
而不是
Range.ClearHyperlinks
前者清除超链接并保持格式不变。参考此处:https://msdn.microsoft.com/en-us/library/office/ff194741.aspx
答案 1 :(得分:2)
我知道这也有点奇怪......不确定这是否可以接受。试试这个:
Selection.Hyperlinks(1).Address = ""
这几乎就像没有超链接一样。唯一的区别是您的光标变为手而不是默认加号,但您仍然可以像任何其他单元格一样单击它。
答案 2 :(得分:2)
如果使用合并单元格,上述解决方案会出现问题。 这解决了这个问题
data = Selection.value
Selection.Value = "" 'this removes the hyperlink
Selection.Font.Underline = xlUnderlineStyleNone 'remove the hyperlink underlining
With ActiveCell.Font 'replace hyperlink blue with black
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
Selection.Value = data
答案 3 :(得分:1)
我无法弄清楚如何防止格式化被破坏。我想到的解决方法是在删除超链接之前复制单元格,然后在删除超链接后将格式粘贴回单元格:
' copy cell to remote location to "remember" formatting
ActiveCell.Copy Sheets("Templates").Range("a1")
' remove hyperlink
ActiveCell.Hyperlinks.Delete
' reapply formatting
Sheets("Templates").Range("A1").Copy
ActiveCell.PasteSpecial Paste:=xlPasteFormats
告诉我一个更好的方法,我会接受你的回答作为答案。
答案 4 :(得分:1)
ActiveCell.Style = "Normal"
换句话说: 你重新应用应该存在的风格。而“正常”可以在Excell中存在的任何一种类型的名称中进行更改。如果您希望以这种方式应用自己的样式,请将其添加到单元格样式列表中。
如果你想更进一步。你可以在那里使用cellstyle,用字符串捕捉它并重新应用。
Dim sStyleName as String
sStyleName = ActiveCell.Style 'Capture the current cellstyle
ActiveCell.Hyperlinks.Delete 'Remove the hyperlink
ActiveCell.Style = sStylename 'Reapply the cellstyle used before
答案 5 :(得分:1)
For Each cll In Selection
cll_val = cll.Value
cll.ClearContents
cll.Value = cll_val
With cll.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.Underline = xlUnderlineStyleNone
End With
Next
当您不想将粘贴信息复制到其他位置或从其他位置复制粘贴信息时,这也会有所帮助。没有在合并的单元格上尝试这个,但我想这应该可行。
答案 6 :(得分:0)
Dim temp As Variant
temp = (RangeObject).Interior.Color
(RangeObject).Hyperlinks.Delete
(RangeObject).Interior.Color = temp
答案 7 :(得分:0)
您还可以将超链接应用于透明的形状,并覆盖您想要超链接的单元格。
这里的缺点是当没有链接时光标会随着鼠标悬停而改变。最终用户可以移动形状并删除。