【问题标题】:Pulling data from PI DataLink using VBA使用 VBA 从 PI DataLink 中提取数据
【发布时间】:2017-10-10 04:04:15
【问题描述】:

我正在使用 VBA 从 PI Server 中提取大量数据。我正在使用以下代码:

**Dim myValues As PIValues

Set myValues = PIMath.GetInterpolatedValues_Point(inputPIPoint,
    PIMath.StringToPITimeFormat(StartDate),
    PIMath.StringToPITimeFormat(NextDate), "10s")**

将存储在 MyValues 中的所有值复制到工作表中的列的最快方法是什么?我正在使用 For 循环:

For k = 1 To myValues.Count

Worksheets("Sheet6").Cells(k, 2).value = myValues(k)

但由于我使用多个 PI Tag 并将时间间隔更改为 5 秒,因此该过程非常缓慢。

另外,如何在每个完整循环结束时将myValues 设置为空?这就是我想要做的:

  1. MyValues 包含日期 1 到 2 的数据
  2. MyValues 中的所有 PI 标记点都应清除
  3. MyValues 包含日期 2 到 3 的数据

【问题讨论】:

    标签: vba excel osisoft


    【解决方案1】:

    类似:

    Worksheets("Sheet6").Range("B1").Resize(UBound(myValues)+1,1).Value = _
                                           Application.Transpose(myValues)
    

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 2021-10-18
      • 1970-01-01
      • 2021-12-20
      • 2018-04-24
      相关资源
      最近更新 更多