【发布时间】:2015-10-23 15:36:18
【问题描述】:
有没有办法用它们的标签替换格式,例如斜体,例如?更一般地说,我如何搜索格式:斜体并替换为
<i>foundstring(^&)</i>?
基本上我想要的是拥有这个:
blabla bla bla
替换为:
blabla <i>bla</i> bla
这是因为我需要在“保留”格式的同时将 .xslx 导出到 .csv。是否有适用于 Mac 版 MS Office 2011 的 VBA 脚本?或者它可以用 Python 做吗?
提前感谢您的帮助。
编辑:这是我尝试无济于事的 vba 代码:
Sub Tag_Italic()
Dim oWS As Worksheet
Dim oRng As Range
Dim FirstUL
Set oWS = ActiveSheet
Application.FindFormat.Clear
Application.FindFormat.Font.Italic = True
Set oRng = oWS.Range("A1:A1000").Find(What:="", LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, SearchFormat:=True)
If Not oRng Is Nothing Then
FirstUL = oRng.Row
Do
oRng.Font.Italic = False
oRng.Value2 = "" & oRng.Value2 & ""
Set oRng = oWS.Range("A" & CStr(oRng.Row + 1) & ":A1000").Find(What:="", LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, SearchFormat:=True)
Loop While Not oRng Is Nothing
End If
End Sub
编辑 2:Gary 的学生回答完成了工作!
【问题讨论】:
-
有没有VBA脚本...?如果你写一个,会有的。根据文件的大小和需要解析的行数,虽然它可以在 VBA 中完成,但 python 可能会更好(或者,您熟悉的任何其他语言,它能够与 Win32Com 一起使用以访问Excel 对象模型/api)。不过,这似乎是一个“给我所有代码”的问题。你自己尝试过什么吗?
-
如果您可以预期整个单元格都以斜体格式设置,您只需检查单元格的格式属性并使用适当的标签包装文本。如果每个单元格中只有 一些 个单词是斜体的,那么你必须进行字符迭代...
-
@David 感谢您的回答。我试过(vbadud.blogspot.ru/2008/12/…)这个宏无济于事。我会尝试使用 Python - 我对它很陌生,所以可能需要一些时间。感谢您为我指明了一个好的方向!
-
将您的代码放在问题正文中,而不是在 cmets 中 :)
-
很可能是您因为缺乏努力而投下反对票...
标签: python excel excel-2011 vba