我正在使用VBA从MS Project中提取“任务备注”,并希望创建一个MS Word .DOC文件,并将这些文本复制到EXCEL中。
如果使用Task对象的Notes属性,则只能获得255个字符,并且不会保留格式。 为了保持格式化,您可以将.MPP文件转换为.MPD并提取注释。这些注释已使用rtf存储(请参阅PJDB.HTM查找'sub getRtf')。 这样我就可以提取所有笔记并将它们写入.rtf文件。 如果我使用MS Word打开该文件(包含多个笔记[我已验证])我只能看到第一个笔记(并且格式已经很好)。 我从其他网站收集的信息只能处理文件中的一个rtf文本,加入多个rtf文本并不容易。
所以我的问题是: 有没有人知道如何将几个rtf线组合成一个rtf文本。
我更喜欢使用VBA的答案。
当然,如果有人知道如何从MS Project中提取笔记并创建一个保留格式的.DOC文件,那么也可以
答案 0 :(得分:0)
这可能不是正确答案,但您可以在VBA中执行此操作:
对于每个RTF文件,打开并以富文本格式(通过API)保存到剪贴板,然后粘贴到单词中。
这很难看,但确实有效。
答案 1 :(得分:0)
我有类似的任务从数据库中读取RTF并为保留Word文档中的RTF格式的所有记录创建报告。代码从DB获取RTF,将其写入扩展名为.rtf的文件,然后将文件插入表格单元格。我猜你的确不完全正确,但报告确实显示了N条记录中的所有格式化文本。
所以“文件”并没有真正“合并”。
Word表格手动粘贴到Excel中并保留了格式。我不知道在Excel中等效于InsertFile。
RS.Open SQL, con
Do Until RS.EOF
Set ts = fso.CreateTextFile("c:\temp\temp.rtf", True)
ts.Write RS(0)
ts.Close
If iRow > 1 Then tbl.Rows.Add
tbl.Cell(iRow, 1).Range.InsertFile "C:\temp\temp.rtf", , False
.....
iRow = iRow + 1
RS.MoveNext
Loop
需要对Microsoft Scripting Runtime的引用,并且:
Dim ts As TextStream
Dim fso As New FileSystemObject