dan*_*nny 8 vba microsoft-word microsoft-excel
我有一个 Word 文件,里面有一些 Excel 图。不幸的是,我丢失了原始的 excel 绘图,并且 word 文件现在已“取消链接”。
有没有办法检索丢失的绘图数据?只是将绘图复制回 Excel 似乎不起作用,但我可以看到数据仍在某处,因为将鼠标悬停在绘图上的一个点上会显示值。
我不得不对 PowerPoint 2010 演示文稿做同样的事情。我认为作为一个长期的解决方案,VBA 脚本是一个很好的方法。但是由于某种原因我无法让它在我的情况下工作,我只需要获取一次数据。(作为结构化解决方案,您可能首先不应该丢失原始数据。)这是可以做的:
.zip
扩展名ppt/charts/
子文件夹。chart1.xml
使用 Excel作为 XML 表打开。(只需打开文件,Excel 就会询问您如何打开它。)chart2.xml
在解压后的文件夹中看到等。如果图表包含超过 1 条线,则必须在 XML 中查找其他数据。您必须使用 VBA 来提取数据。以下是一种可能的 VBA 解决方案: http: //peltiertech.com/WordPress/extract-chart-data/。它包括这段代码:
Sub ExtractChartData()
Dim iSrs As Long
Dim cht As Chart
Dim srs As Series
Dim ws As Worksheet
If ActiveChart Is Nothing Then Exit Sub
Set cht = ActiveChart
Set ws = Worksheets.Add
For iSrs = 1 To cht.SeriesCollection.Count
Set srs = cht.SeriesCollection(iSrs)
On Error Resume Next
ws.Cells(1, 2 * iSrs).Value = srs.Name
ws.Cells(2, 2 * iSrs - 1).Resize(srs.Points.Count).Value = _
WorksheetFunction.Transpose(srs.XValues)
ws.Cells(2, 2 * iSrs).Resize(srs.Points.Count).Value = _
WorksheetFunction.Transpose(srs.Values)
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
这是另一个可能的解决方案,直接来自 Microsoft: http: //support.microsoft.com/kb/300643(也涉及 VBA)
归档时间: |
|
查看次数: |
29600 次 |
最近记录: |