View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Spike Spike is offline
external usenet poster
 
Posts: 140
Default Excel deleting xml item problem

found the error - it was referencing the wrong file. Fairly basic i guess,
it had been hard coded in by someone!
--
with kind regards

Spike


"Spike" wrote:

I think the whole piece of code might help

the row varialble Set oReplacedNode shows "Nothing" which i guess is the
problem

Public Sub delInstrumentCode(ByVal OMRCode As String, ByVal filename As
String)
Dim oxml As DOMDocument
Dim oInstNode As IXMLDOMNode
Dim oReplacedNode As IXMLDOMNode
Dim bLoadSuccess As Boolean
Dim ofs As FileSystemObject

'InstrumentList/Instrument/OMR
'InstrumentList/Instrument/desc

On Error GoTo errHandle

Set ofs = New FileSystemObject
Set oxml = New DOMDocument

If Not ofs.FileExists(filename) Then
MsgBox "The file " & filename & "Cannot be found"
Exit Sub
End If

bLoadSuccess = oxml.Load(filename)

If Not bLoadSuccess Then
MsgBox "The file " & filename & " failed to load correctly." & vbCr
& _
"Error: " & oxml.parseError.reason, vbCritical, "Save Ticker
History Error"
Exit Sub
End If

Set oReplacedNode = oxml.selectSingleNode("/InstrumentList")

Set oInstNode = oReplacedNode.selectSingleNode("Instrument[OMR='" &
OMRCode & "']")
If Not oInstNode Is Nothing Then
Call oReplacedNode.removeChild(oInstNode)
oxml.Save filename
End If

Set oxml = Nothing
Exit Sub
errHandle:
MsgBox "An unhandled error occured: " & Err.Description, vbCritical
End Sub
--
with kind regards

Spike


"Spike" wrote:

I have an excel macro (in an add-in) that is called by the main excel macro
that is deleting various items in an xml file

When it gets to the last line as below it generates the following message

€śAn unhandled error occurred: Object variable or with block not set€ť

the variable is dimensioned see Dim statement that I have copied here. This
has worked for some time with no problem but suddenly out of the blue
generates this error. I have tried replacing the xml file with a copy, also
tried replacing the add-in with a copy (in case either have been corrupted).
The error description is per €śErr.Description€ť

Dim oInstNode As IXMLDOMNode

Set oReplacedNode = oxml.selectSingleNode("/InstrumentList")

Set oCheckNode = oReplacedNode.selectSingleNode("Instrument[OMR='" &
OMRCode & "']")

Any ideas will be gratefully received

--
with kind regards

Spike