Dim app As OpiumLib.Application 'Описание указателя на приложение
Dim opium As OpiumLib.Document 'Описание указателя
на активный документ
Sub OpiumTest()
On Error Resume Next 'Подавляем системные сообщения об ошибках
'вместо них будем использовать свои
Set app = New OpiumLib.Application 'Получаем указатель на приложение
Set opium = app.ActiveDocument ' Получаем указатель на активный документ
If opium Is Nothing Then 'Если указатель пуст
MsgBox "Не удалось получить указатель на активный
документ О!Пиум" _
& vbCr & "Убедитесь, что программа запущена и
открыт хотя бы один документ"
Else 'Если все в порядке
Dim crvData As Variant 'Объявление переменной для данных
crvData = opium.CRVGet("GZ4") 'Получение данных для кривой
If VarType(crvData) = vbEmpty Then 'Диагностика
MsgBox "Ошибка получения данных для GZ4"
Else 'Если все нормально
Dim emptyVal As Double 'Признак отсутствия информации
emptyVal = opium.Empty 'Получаем из О!Пиум
For i = 1 To UBound(crvData) 'Цикл по всем точкам
If crvData(i, 2) <> emptyVal Then 'Если есть что делить
crvData(i, 2) = crvData(i, 2) / 2 'Делим пополам
End If
Next i
opium.CRVPut "GZ4/2", crvData 'Сохраняем с именем "GZ4/2"
MsgBox "Используйте контекстное меню поля
вывода:" _
& vbCr & "
'Вставить/Кривую в линейном масштабе...' " _
& vbCr & "для просмотра вычисленной кривой 'GZ4/2'"
End If
End If
opium = Nothing 'Освобождаем указатели после использования
app = Nothing
End Sub