我有一个列表,“列表A”,包含数以万计的条目(下面显示了4个示例条目)。我想从“列表A”创建另一个列表,“列表B”。我需要“列表B”的每个条目仅包含“>”之后的第一个“单词”的前4个(满分5个)字符。位于“列表A”中每个条目开头的字符。
所以,例如,我想要一个看起来像这样的“列表B”: 2JUG 3JU9 1JU8 3JUE
我是剧本写作的新手,非常感谢您提供的任何帮助。我最接近解决我的问题的是打印第一列,但是这给了我第一个“单词”的所有5个字符,加上下一行中的长字符串。我是脚本写作的新手,所以如果可能的话,请尝试给我解释的“for dummies”版本。谢谢!
来自“列表A” 的 示例条目
2JUGA 78 NMR NA NA NA无TubC蛋白[ANGIOCOCCUS DISCIFORMIS] || 2JUGB
GPLGSSAGALLAHAASLGVRLWVEGERLRFQAPPGVMTPELQSRLGGARH
ELIALLRQLQPSSQGGSLLAPVARNGRL 3JU9A 237 XRAY 2.10 0.207 0.253否伴刀豆球蛋白-B [CANAVALIA BRASILIENSIS] || 1AZDA 1AZDB 1AZDC 1AZDD 4H55A
ADTIVAVELDTYPNTDIGDPSYPHIGIDIKSVRSKKTAKWNMQNGKVGTA
HIIYNSVGKRLSAVVSYPNGDSATVSYDVDLDNVLPEWVRVGLSASTGLY
KETNTILSWSFTSKLKSNSTHETNALHFMFNQFSKDQKDLILQGDATTGT
EGNLRLTRVSSNGSPQGSSVGRALFYAPVHIWESSAVVASFEATFTFLIK
SPDSHPADGIAFFISNIDSSIPSGSTGRLLGLFPDAN
答案 0 :(得分:1)
这是解决方案 - 非常简单,但是假设提供了输入,它将完成工作:
Sub NMRData()
With Selection.Find
.Text = "^p>"
.Replacement.Text = "@@@>"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "@@@>"
.Replacement.Text = "^p>"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
For k = ThisDocument.Paragraphs.Count To 1 Step -1
Set oPara = ThisDocument.Paragraphs(k)
oPara.Range.Text = Left(oPara.Range.Text, 5) & vbNewLine
Next k
ThisDocument.SaveAs FileName:="listB.docx", FileFormat:=wdFormatXMLDocument
End Sub
所需的输出将与新的DOCX文件保存在同一文件夹中。
要运行代码,请按 ALT + F11 ,然后按 F5 - 通过VBA界面,或按 ALT + F8 按名称选择并运行宏。
带有现成代码的示例DOCM:https://www.dropbox.com/s/6zt4nfn7rt8eqc7/NMRDataListA.docm
P.S。这是我的第一次Word-VBA体验)