0

使用 Interop 将旧的 VBA 项目迁移到 C# 来操作 Powerpoint 并尝试找到一种方法来复制一些旧的解决方案

我可以使用以下方式获取我的系列收藏:

NetOffice.PowerPointApi.Series test_sc = (NetOffice.PowerPointApi.Series)sh.Chart.SeriesCollection(1);

但尝试访问 Values 或 XValues 没有按我预期的那样工作

我可以使用任何一个来获取内容

string[] arr = ((IEnumerable)test_sc.Values).Cast<object>()
                       .Select(x => x.ToString())
                       .ToArray();

或者

foreach (object item in (Array)test_sc.Values) { var aa = item;  }

但这并不能让我更新东西。

现在我正在使用 ChartData.WorkBook.Worksheet.Cells.get_Range 机制来更新基础工作表,但这很复杂,因为该系列并不总是根据源文件在工作表中使用相同的单元格范围,所以我可以不要简单地将旧的 SeriesCollection[1].Values 映射到 Range["b2..m2"] 或其他任何内容。

1/ 我是否遗漏了一些明显的东西(c# 不是我常用的平台,所以很有可能)来获得对集合的 Values/XValues 的读/写访问权限,以及 2/ 是否有更好的方法可以让我相对访问该系列所代表的基础范围

4

0 回答 0