Jump to content



Photo

XML DOM wrapper (COM)


  • Please log in to reply
726 replies to this topic

#61 plastix

plastix

    Adventurer

  • Active Members
  • PipPip
  • 116 posts

Posted 09 April 2006 - 11:09 AM

hi. links don't work for me (to download UDF). :think:







#62 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 10 April 2006 - 03:00 PM

hi. links don't work for me (to download UDF). :think:


Please try now. I migrated the server from windows and I believe all the permissions are now set correctly for all files. :(

#63 Juanse

Juanse

    Seeker

  • Active Members
  • 21 posts

Posted 21 May 2006 - 05:54 PM

What's the difference between the MDI version and the Updated version? I mean, what do I have to download?

#64 Juanse

Juanse

    Seeker

  • Active Members
  • 21 posts

Posted 21 May 2006 - 08:48 PM

Yessssss....It works!!!!....I figured out how to do _XMLUPDATEFIELD()...Thanks once again for the quick reply.


I copied and pasted both codes and it keeps saying:

C:\blablabla\_XMLDomWrapper.au3 (200) : ==> Variable must be of type "Object".:
$objNodeList = $objDoc.selectNodes ($strXPath)
$objNodeList = $objDoc^ ERROR
!>AutoIT3.exe ended.rc:2147483647

#65 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 25 May 2006 - 02:49 AM

What's the difference between the MDI version and the Updated version? I mean, what do I have to download?


The mdi version is able to work with more than one document.

I copied and pasted both codes and it keeps saying:

C:\blablabla\_XMLDomWrapper.au3 (200) : ==> Variable must be of type "Object".:
$objNodeList = $objDoc.selectNodes ($strXPath)
$objNodeList = $objDoc^ ERROR
!>AutoIT3.exe ended.rc:2147483647


What does your code look like???

#66 syberschmo

syberschmo

    Seeker

  • Active Members
  • 39 posts

Posted 12 June 2006 - 07:53 PM

I copied and pasted both codes and it keeps saying:

C:\blablabla\_XMLDomWrapper.au3 (200) : ==> Variable must be of type "Object".:
$objNodeList = $objDoc.selectNodes ($strXPath)
$objNodeList = $objDoc^ ERROR
!>AutoIT3.exe ended.rc:2147483647

eltorro, i can confirm this error. i'm using the latest beta (3.1.1.126)

I wrote my own script, which failed, and then I tried some scripts in this thread. I also tried the example in the first post.

The exact location of the error changes depending on the function called.

When compiling the first-post example (which uses the non-MDI version), the error looks like:
C:\Documents and Settings\*\_XMLDomWrapper.au3 (363) : ==> Variable must be of type "Object".: $objNodeList = $objDoc.selectNodes ($strXPath & $strQuery) $objNodeList = $objDoc^ ERROR
When compiling the first-post example with the MDI version, the error looks like:
C:\Documents and Settings\*\_XMLMdiDOM.au3 (603) : ==> Object referenced outside a "With" statement.: $objNodeList = $objDoc[$oIndex].selectNodes ($strXPath & $strQuery) $objNodeList = $objDoc[$oIndex]^ ERROR
I'm really interested in this udf. It looks great. Keep up the good work!

#67 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 12 June 2006 - 08:03 PM

Can you provide your script ??
If you'd rather not post it, can you pm it to me???

eltorro, i can confirm this error. i'm using the latest beta (3.1.1.126)

I wrote my own script, which failed, and then I tried some scripts in this thread. I also tried the example in the first post.

The exact location of the error changes depending on the function called.

When compiling the first-post example (which uses the non-MDI version), the error looks like:

C:\Documents and Settings\*\_XMLDomWrapper.au3 (363) : ==> Variable must be of type "Object".: $objNodeList = $objDoc.selectNodes ($strXPath & $strQuery) $objNodeList = $objDoc^ ERROR
When compiling the first-post example with the MDI version, the error looks like:
C:\Documents and Settings\*\_XMLMdiDOM.au3 (603) : ==> Object referenced outside a "With" statement.: $objNodeList = $objDoc[$oIndex].selectNodes ($strXPath & $strQuery) $objNodeList = $objDoc[$oIndex]^ ERROR
I'm really interested in this udf. It looks great. Keep up the good work!


Edited by eltorro, 12 June 2006 - 08:05 PM.


#68 Juanse

Juanse

    Seeker

  • Active Members
  • 21 posts

Posted 12 June 2006 - 08:40 PM

I think is because _XMLDomWrapper.au3 use in LoadXML function: ObjCreate("Msxml2.DOMdocument.4.0")

you have tu use 3.0 to make it work properly.

Edited by Juanse, 12 June 2006 - 08:47 PM.


#69 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 12 June 2006 - 10:31 PM

I uploaded an updated version of the save settings example, however the example script is in need of a re-write (at least it is need of some error checking) (CyberSlugs part is fine.)

There will also be some code updates to the wrapper. Mainly more error checking and a version check to see which com object is available for use ( if any).

Suggestions and colaberation would be welcome and greatly appreciated.

elTorro
p.s.
Some people may need to change the com object opened in the _XMLFileOpen function to
$objDoc = ObjCreate("Msxml2.DOMdocument.3.0")
;~ $objDoc = ObjCreate("Msxml2.DOMdocument.4.0")

lines 83,84 in the _XMLDomWrapper , lines 519,520 in then multi doc version.

#70 Juanse

Juanse

    Seeker

  • Active Members
  • 21 posts

Posted 15 June 2006 - 06:29 PM

There will also be some code updates to the wrapper. Mainly more error checking and a version check to see which com object is available for use ( if any).

Suggestions and colaberation would be welcome and greatly appreciated.



I wanna help you. Send me a PM if you are interested in. I will send you my MSN in PM too.

#71 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 18 June 2006 - 04:59 PM

I wanna help you. Send me a PM if you are interested in. I will send you my MSN in PM too.


Thanks

eltorro

#72 sean1976

sean1976

    Seeker

  • New Members
  • 7 posts

Posted 24 June 2006 - 04:53 AM

First off this seems like a great job you've done.

Unfortunately I need help if someone has a spare moment. I have an xml that I cannot change it's format because another program accesses it and pulls information from it as is. I need to read the values from one of the field attrib's into an array or list. I also need to be able to copy the attrib values in a specific row of the xml into variables. I am able to get autoit to open the xml but from there I am lost.

I have alot of general computer knowledge(started coding on a comadore vic 20) but I have no experience with xml and every resource I have read through seemed to expect an understanding of xml organization before you read it. In short I got a massive headache. I'll post one of the xml's using the format I have to interact with so you know exactly what I'm dealing with. If anyone could tell me how to do what I need to or at lest point me to some fairly simple or beginners(in xml) guide to navigating xml data I would greatly appreciate it.

Once again sorry for the noob question and thanks for any help you can offer

Attached Files



#73 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 24 June 2006 - 07:27 PM

Not sure what kind of query that you are looking for. But he following code displays all the "ROWS". I'm sure that you have some criteria to narrow the query.
AutoIt         
; ---------------------------------------------------------------------------- ; ; AutoIt Version: 3.1.1.124 ; Author:         Stephen Podhajecki eltorro <gehossafats@netmdc.com> ; Version: 0.1 ; ; Script Function: ; ; ---------------------------------------------------------------------------- #Include "C:\Program Files\AutoIt3\Beta\include\_XMLDomWrapper.au3"; change this to your needs #Include <Array.au3> ;_SetDebug(True) opt("MustDeclareVars", 1) ;=============================================================================== Global $xmlFile Global $count = 0 Global $sNxPath, $fHwnd ;=============================================================================== $xmlFile = FileOpenDialog("Open XML", @ScriptDir, "XML (*.XML)", 1) If @error Then     MsgBox(4096, "File Open", "No file chosen , Exiting")     Exit EndIf Main() Exit ;=============================================================================== ;Funcs ;=============================================================================== Func Main()     Local $szXPath, $aNodeName, $find, $ns, $oXSD,$iNodeCount,$aAttrName[1],$aAttrVal[1],$ret_val         $ns = ""     $oXSD = _XMLFileOpen ($xmlFile, $ns)     If @error Or $oXSD < 1 Then         MsgBox(0, "Error", "There was an error opening the file " & $xmlFile)         $oXSD = 0         Exit     EndIf     $szXPath = "//DATAPACKET/ROWDATA"     $iNodeCount = _XMLGetNodeCount($szXPath & "/*")     MsgBox(0,"Node Count",$iNodeCount)     $aNodeName = _XMLGetChildNodes ($szXPath); get a list of node names under this path     If $aNodeName <> - 1 Then         For $find = 1 To $aNodeName[0]             ConsoleWrite($aNodeName[$find]& '[' & $find & ']'&@LF)             ;It's better to use node index instead of node name as all node here have same name.           _XMLGetAllAttrib($szXPath & "/*" & '[' & $find & ']',$aAttrName,$aAttrVal)              _ArrayDisplay($aAttrName,$szXPath & "/*" & '[' & $find & ']')              _ArrayDisplay($aAttrVal,$szXPath & "/*" & '[' & $find & ']')         Next         MsgBox(266288,"_XMLWrapper","Done")     Else         MsgBox(0, "Error:", "No nodes found for " & $szXPath)     EndIf     $oXSD = 0 EndFunc;==>Main

First off this seems like a great job you've done.

Unfortunately I need help if someone has a spare moment. I have an xml that I cannot change it's format because another program accesses it and pulls information from it as is. I need to read the values from one of the field attrib's into an array or list. I also need to be able to copy the attrib values in a specific row of the xml into variables. I am able to get autoit to open the xml but from there I am lost.

I have alot of general computer knowledge(started coding on a comadore vic 20) but I have no experience with xml and every resource I have read through seemed to expect an understanding of xml organization before you read it. In short I got a massive headache. I'll post one of the xml's using the format I have to interact with so you know exactly what I'm dealing with. If anyone could tell me how to do what I need to or at lest point me to some fairly simple or beginners(in xml) guide to navigating xml data I would greatly appreciate it.

Once again sorry for the noob question and thanks for any help you can offer



#74 sean1976

sean1976

    Seeker

  • New Members
  • 7 posts

Posted 24 June 2006 - 08:00 PM

Thanks for the quick reply, I started to figure it out by studying the posts you made on page 2 about the drinks file. Main problem is/was a complete lack of knowledge on navigating the xml. Starting to figure it out somewhat. Main problem was not realising the indexing since there was no visible markers for it and not knowing the syntax/notation for the pathways in xml. Thanks you again for the help and your work on these functions :D

#75 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 24 June 2006 - 08:13 PM

Main problem was not realising the indexing since there was no visible markers for it and not knowing the syntax/notation for the pathways in xml. Thanks you again for the help and your work on these functions :D


Sometimes it's easier to think of an XML file as a directory structure or as a family tree.

Open the file in Firefox and see how it cascades out.

There's a link in my sig below to a script that opens an XML file in a treeview. It can give you an idea of what goes under what too.

Good Luck. :D

Here are some links that have helped me.
Learn XML
Learn XPath

Edited by eltorro, 24 June 2006 - 08:19 PM.


#76 weaponx

weaponx

    I'm coming for blood, no code of conduct, no law.

  • MVPs
  • 5,366 posts

Posted 02 July 2006 - 12:16 AM

When I create a file, it only writes to one line. Is there any formatting option to have carriage returns for each node?

#77 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 02 July 2006 - 08:08 AM

When I create a file, it only writes to one line. Is there any formatting option to have carriage returns for each node?

Unfortunately, not that I know of.

However, html tidy (not to be confused with tidy that comes with AutoIt) can do the job.

Place the binary in the SciTE folder( the same folder as scite.exe).

I added this to my html.properties file.
command.name.1.$(file.patterns.xml)=Save and Indent XML command.1.$(file.patterns.xml)=tidy -xml -indent -modify "$(FilePath)" command.is.filter.1.$(file.patterns.xml)=1 command.save.before.1.$(file.patterns.xml)=1


Then you should be able to load the xml file in SciTE, navigate to the tool menu and find "Save and Indent XML" . Select it and format away.

Hope that helps

eltorro

#78 weaponx

weaponx

    I'm coming for blood, no code of conduct, no law.

  • MVPs
  • 5,366 posts

Posted 02 July 2006 - 02:46 PM

Well here is what I came up with.

First I modified _XMLCreateFile

AutoIt         
Func _XMLCreateFile($strPath, $strRoot, $bOverwrite = False,$bUTF8 = False)     Local $retval, $fe, $objPI, $objDoc, $rootElement     $fe = FileExists($strPath)     If $fe And Not $bOverwrite Then         $retval = (MsgBox(4097, "File Exists:", "The specified file exits." & @CRLF & "Click OK to overwrite file or cancel to exit."))         If $retval = 1 Then             FileCopy($strPath, $strPath & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & "-" & @MIN & "-" & @SEC & ".bak", 1)             FileDelete($strPath)             $fe = False         Else             _XMLSetError( "Error failed to create file: " & $strPath & @CRLF & "File exists.")             SetError(1)             Return -1         EndIf     Else         FileCopy($strPath, $strPath & ".old", 1)         FileDelete($strPath)         $fe = False     EndIf         If $fe = False Then         ;==== pick your poison         $objDoc = ObjCreate("Msxml2.DOMdocument.4.0")         if not IsObj($objDoc) Then  $objDoc = ObjCreate("Msxml2.DOMdocument.3.0")         if not IsObj($objDoc) Then  $objDoc = ObjCreate("Microsoft.XMLDOM")         if not IsObj($objDoc) Then             MsgBox(266288,"XML Error","Unable to instantiate the XML object"&@LF&"Please check your components.")             return -1         EndIf         ;MsgBox(266288,"XML Wrapper",ObjName($objDoc,4))         If $bUTF8 Then             $objPI = $objdoc.createProcessingInstruction ("xml", "version=""1.0"" encoding=""UTF-8""")         Else             $objPI = $objDoc.createProcessingInstruction ("xml", "version=""1.0""")         EndIf             $objDoc.appendChild ($objPI)         $rootElement = $objDoc.createElement ($strRoot)         $objDoc.documentElement = $rootElement                 ;ADD CARRIAGE RETURN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<         $objFORMAT = $objDoc.createTextNode(@CRLF)         $objDoc.documentElement.appendChild ($objFORMAT)                 $objDoc.save ($strPath)         If $objDoc.parseError.errorCode <> 0 Then             ;           _XMLSetError( "Error Creating specified file: " & $strPath & @CRLF & $oMyError.windescription)             _XMLSetError( "Error Creating specified file: " & $strPath)             SetError($objDoc.parseError.errorCode)             Return -1         EndIf         Return     Else         _XMLSetError( "Error! Failed to create file: " & $strPath)         SetError(1)         Return -1     EndIf     Return 1 EndFunc   ;==>_XMLCreateFile ƒo݊÷ Ù8^œ‰¨v'âyÖ×0°«y«^FŠ-6‡^X m¯öÚºÚ"µÍ‚‘[˜ÈÖSܙX]T›ÛÝ›ÙUÐ]Š   ˆÌ ͎ÜÝ“›ÙK ˆÌ ͎ØP]‹  ˆÌ ͎ØU˜[    ˆÌ ͎ÜÝ‘]HH  œ][Ýɜ][ÝË ˆÌ ͎ÜÝ“˜[YTÜÈH    œ][Ýɜ][ÝÊB‚SØØ[   ˆÌ ÍŽÛØšÚ[     ˆÌ ÍŽÛØš]‹ ˆÌ ÍŽÛØš]•˜[‚IˆÌ ÍŽÛØšÚ[H  ˆÌ ÍŽÛØš‘ØË˜Ü™X]S›ÙH     ˆÌ ͎ӓÑWÑSSQS•     ˆÌ ͎ÜÝ“›ÙK ˆÌ ͎ÜÝ“˜[YTÜÊB‚B‚RYˆ    ˆÌ ͎ÜÝ‘]H    ›əÝÈ   œ][Ýɜ][ÝÈ[ˆ    ˆÌ ÍŽÛØšÚ[ ^H ˆÌ ͎ÜÝ‘]B‚NÂRYˆœ›ÜˆH [‚‚UÚ[Hœ›ÜˆH ‚BRYˆ̘^J    ˆÌ ͎ØP]ŠH[™̘^J    ˆÌ ͎ØU˜[ H[‚‚BBNÒYˆP›Ý[™     ˆÌ ͎ØP]ŠKS›Ý[™     ˆÌ ͎ØP]ŠH  ›əÝÈP›Ý[™     ˆÌ ͎ØU˜[ KS›Ý[™     ˆÌ ͎ØU˜[ H[ˆÈ›È›Ý[™ÝܝÏ‚BBRYˆP›Ý[™     ˆÌ ͎ØP]ŠH  ›əÝÈP›Ý[™     ˆÌ ͎ØU˜[ H[‚‚BBBWÖSÙ]œ›ÜŠ œ][ÝÐ]šX]H[™˜[YHZÛX]Ú   œ][ÝÈ   ˜[Èԓˆ ˜[È  œ][ÝÔXÙHXZÙHݙHXXÚ]šX]HÈHX]Ú[™È˜[YK‰œ][ÝÊB‚BBBTÙ]œ›ÜŠ ŠB‚BBBT™]›ˆ LB‚BBQ[ÙB‚BBBSØØ[    ˆÌ ͎ÚB‚BBBNћ܈  ˆÌ ͎ÚHH›Ý[™     ˆÌ ͎ØP]ŠHÈP›Ý[™     ˆÌ ͎ØP]ŠNțțÝ[™ÝܝÏ‚BBBQ›Üˆ   ˆÌ ͎ÚHH ÈP›Ý[™     ˆÌ ͎ØP]ŠH H B‚BBBBRYˆ    ˆÌ ͎ØP]–ÉˆÌ ͎ÚWHH  œ][Ýɜ][ÝÈ[‚‚BBBBBWÖSÙ]œ›ÜŠ  œ][Ýќ›ÜˆܙX][™ÈÚ[›ÙNˆ  œ][ÝÈ   ˜[È  ˆÌ ͎ÜÝ“›ÙH  ˜[Èԓˆ ˜[È  œ][ÝÈ]šX]H˜[YHØ[››Ý™H•S ‰œ][ÝÈ ˜[ÈԓŠB‚BBBBBTÙ]œ›ÜŠ JB‚BBBBBT™]›ˆ LB‚BBBBQ[™Y‚ŽßˆBBBBBZYˆ    ˆÌ ͎ØU˜[ÉˆÌ ÍŽÚWHHÚŠ H[‚ŽßˆBBBBBBWÖSÙ]œ›ÜŠ œ][Ýќ›ÜˆܙX][™ÈÚ[›ÙNˆ  œ][ÝÈ   ˜[È  ˆÌ ͎ÜÝ“›ÙH  ˜[Èԓˆ ˜[ɜ][ÝÈ]šX]H˜[YHØ[››Ý™H•S ‰œ][ÝÈ  ˜[ÈԓŠBŽßˆBBBBBBTÙ]œ›ÜŠ JBŽßˆBBBBBBT™]›ˆ LBŽßˆBBBBBQ[™Y‚‚BBBBB‚BBBBIˆÌ ÍŽÛØš]ˆH    ˆÌ ÍŽÛØš‘ØË˜Ü™X]P]šX]H     ˆÌ ͎ØP]–ÉˆÌ ͎ÚWJNË    ˆÌ ͎ÜÝ“˜[YTÜÊB‚BBBBIˆÌ ÍŽÛØš]•˜[H  ˆÌ ÍŽÛØš‘ØË˜Ü™X]U^›ÙH     ˆÌ ͎ØU˜[ÉˆÌ ÍŽÚWJB‚BBBBIˆÌ ÍŽÛØš]‹˜[™Ú[     ˆÌ ÍŽÛØš]•˜[ B‚BBBBIˆÌ ÍŽÛØšÚ[ ”Ù]]šX]H     ˆÌ ͎ØP]–ÉˆÌ ͎ÚWK   ˆÌ ͎ØU˜[ÉˆÌ ÍŽÚWJB‚BBBS™^‚BBQ[™Y‚‚BQ[ÙB‚BBIˆÌ ÍŽÛØš]ˆH   ˆÌ ÍŽÛØš‘ØË˜Ü™X]P]šX]H     ˆÌ ͎ØP]ŠB‚BBIˆÌ ÍŽÛØš]•˜[H ˆÌ ÍŽÛØš‘ØË˜Ü™X]U^›ÙH     ˆÌ ͎ØU˜[ B‚BBIˆÌ ÍŽÛØš]‹˜[™Ú[     ˆÌ ÍŽÛØš]•˜[ B‚BBIˆÌ ÍŽÛØšÚ[ ”Ù]]šX]H     ˆÌ ͎ØP]‹  ˆÌ ͎ØU˜[ B‚BQ[™Y‚‚BIˆÌ ÍŽÛØš‘ØË™ØÝ[Y[[[Y[ ˜[™Ú[     ˆÌ ÍŽÛØšÚ[ B‚BB‚BNÐQÐT”’PQÑH‘UT“ˆ   ›ɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛɛ‚BIˆÌ ÍŽÛØš‘“Ô“PUH    ˆÌ ÍŽÛØš‘ØË˜Ü™X]U^›ÙJԓŠB‚BIˆÌ ÍŽÛØš‘ØË™ØÝ[Y[[[Y[ ˜[™Ú[     ˆÌ ÍŽÛØš‘“Ô“PU B‚BB‚BIˆÌ ÍŽÛØš‘ØË”Ø]™H     ˆÌ ͎ÜÝ‘š[JB‚BIˆÌ ÍŽÛØšÚ[H œ][Ýɜ][Ý‚BT™]›‚‚BNÂQ[ÙB‚UÑ[™‚NÂWÖSÙ]œ›ÜŠ œ][ÝјZ[YÈܙX]H›ÛÝÚ[Ú]]šX]Έ   œ][ÝÈ   ˜[È  ˆÌ ͎ÜÝ“›ÙH  ˜[Èԓˆ ˜[È  ˆÌ ͎ÛÓ^Qœ›Ü‹Ú[™ØÜš[ۊB‚WÖSÙ]œ›ÜŠ  œ][ÝјZ[YÈܙX]H›ÛÝÚ[Ú]]šX]Έ   œ][ÝÈ   ˜[È  ˆÌ ͎ÜÝ“›ÙH  ˜[ÈԓŠB‚TÙ]œ›ÜŠ JB‚T™]›ˆ LB‚NÂQ[™Y‚‘[™[˜ÈÏOI™Ý×ÖSܙX]T›ÛÝ›ÙUÐ]‚


And this works pretty well. The only strange thing is that an extra indent is always added to the first child element.

Nice job with this UDF though it works well out of the box but I need the hierarchial appearance so the file can be edited by a human if need be. I will try to add indenting to the child elements as well.

Thanks

#79 sean1976

sean1976

    Seeker

  • New Members
  • 7 posts

Posted 02 July 2006 - 11:58 PM

Eltoro, did you actually run the code you posted for my problem with the xml I posted? Because when I try it I get a error opening the file. When I use the path from your code in a test snippet of code which does open the file I get a error stating the variable must be an object. Thanks for the help and I am continuing to plug at it.

#80 eltorro

eltorro

    more or less the same as the latter of the former.

  • Active Members
  • PipPipPipPipPipPip
  • 596 posts

Posted 03 July 2006 - 12:45 AM

Eltoro, did you actually run the code you posted for my problem with the xml I posted? Because when I try it I get a error opening the file. When I use the path from your code in a test snippet of code which does open the file I get a error stating the variable must be an object. Thanks for the help and I am continuing to plug at it.


Yes, I did. :D

Please post your code.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users