VBA Code:
Public Sub ModifyArchive()
Dim obArchive As Archive
Dim obArchiveVariable As ArchiveVariable
Dim obArchiveFilter As ArchiveFilter
Dim obArchiveFilterVariable As ArchiveFilterVariable
Dim obArchiveValues As ArchiveValues
Dim vStart As Variant 'Filter start time...
Dim vEnd As Variant 'Filter end time...
Dim idx As Integer
On Error GoTo err:
Set obArchive = thisProject.Archives.Item("COURBE_PREV_67")
Set obArchiveVariable = obArchive.ArchiveVariables.Item(0)
Set obArchiveFilter = obArchive.ArchiveFilters.CreateArchiveFilter
StartDate = "01/09/2009 00:00:00"
EndDate = "01/09/2029 00:00:00"
vStart = DateDiff("s", vDateRef, StartDate)
vEnd = DateDiff("s", vDateRef, EndDate)
obArchiveFilter.StartTime = vStart
obArchiveFilter.endTime = vEnd
'SPONT state
obArchiveFilter.StatusBit = &HFFFFFFFF
obArchiveFilter.StatusMask = Not &H40000
obArchiveFilter.AddArchiveVariable obArchiveVariable
obArchiveFilter.Query
Set obArchiveFilterVariable = obArchiveFilter.ArchiveFilterVariables.Item(0)
Set obArchiveValues = obArchiveFilterVariable.ArchiveValues
' obArchiveValues contains the current values from the archive
' we replace these values with the CurveArray vector values
For idx = 0 To nbValues - 1
obArchiveValues.Item(idx).Time = dateUTC(TimeArray(idx))
obArchiveValues.Item(idx).Value = CurveArray(idx)
obArchiveValues.Item(idx).SetModified
Next idx
obArchiveFilter.ApplyChanges
err:
Set obArchiveFilterVariable = Nothing
Set obArchiveVariable = Nothing
Set obArchiveValues = Nothing
Set obArchive = Nothing
End Sub
This document governs the use of our Community Forum. By registering and using the platform, you accept these conditions.
The COPA-DATA Community Forum serves to encourage the exchange of information and experience about the zenon software between forum users respectively zenon users.
Please mind that any published information on the Community Forum is the subjective opinion and view based on the experience and the level of knowledge of the author. COPA-DATA does not overtake any responsibility for the content and the accuracy of the shared information.
Users of the Community Forum are encouraged to share only well-founded experiences and to point out any risks associated with the implementation of proposed solutions to problems. COPA-DATA at its absolute discretion, reserves the right to moderate the forum. In this connection COPA-DATA may remove any information containing false facts, potentially dangerous solutions, bad language or content that may insult, degrade or discriminate others. COPA-DATA may block a non-complying user from forum access if the user violated this provision.
COPA-DATA reserves the right to change this document from time to time at own discretion.
Ing. Punzenberger COPA-DATA GmbH
Karolingerstraße 7b · 5020 Salzburg · Austria
www.copadata.com