我想在word文档中复制this之类的表格,并仅提取曲目标题和作曲家。范围的选择按计划进行:
Dim myCells As Range
With ActiveDocument
Set myCells = .Range(Start:=.Tables(1).Cell(2, 3).Range.Start, _
End:=.Tables(1).Cell(.Tables(1).Rows.Count, 3).Range.End)
myCells.Select
End With
现在,当我手动复制此选择并将其粘贴到记事本中时,我得到了我想要的内容:
Title
Composer
Title
Composer
etc.
但是,我想将此选择自动写入文本文件。当我尝试这样做时,所有内容都塞在一行文字中,小方块(段落符号?)随处可见。
如何使用VBA获得手动复制的结果?
答案 0 :(得分:4)
试试这个
Sub Allmusic()
Dim filesize As Integer
Dim FlName As String, tempStr As String
Dim i As Long
Dim MyAr() As String
'~~> Name of Output File
FlName = "C:\Sample.Txt"
'~~> Get a free file handle
filesize = FreeFile()
'~~> Open your file
Open FlName For Output As #filesize
With ActiveDocument
For i = 2 To .Tables(1).Rows.Count
'~~> THIS LINE WILL NOT REFLECT CORRECTLY IN THE BROWSER
'~~> PLEASE REFER TO THE SCREENSHOT OR THE ATTACHED FILE
tempStr = Replace(.Tables(1).Cell(i, 3).Range.Text, "", "")
If InStr(1, tempStr, Chr(13)) Then
MyAr = Split(tempStr, Chr(13))
Print #filesize, MyAr(0)
Print #filesize, MyAr(1)
Else
Print #filesize, tempStr
End If
Print #filesize, ""
Next i
End With
Close #filesize
End Sub
<强>快照强>
样本文件
下载文件并运行Sub Allmusic()
<强>输出强>
HTH