0

Im getting this error when i try to run my vbs script,

object doesnt support this property or method

My vbs code is

Rem -- This example will show you how to create a very simple runonce configuration.

Rem -- Get current path of this script.
Set fso = CreateObject("Scripting.FileSystemObject")
currentdir = fso.GetAbsolutePathName(".")

Rem -- Read the info xml
Set xmldom = CreateObject("MSXML.DOMDocument")
xmldom.Load("c:\Montupet\PDF" & "\info.xml")

Rem -- Get the program id of the automation object.
progid = xmldom.SelectSingleNode("/xml/progid").text

Rem -- Create the COM object to control the printer.
set obj = CreateObject(progid)

Rem -- Get the default printer name.
Rem -- You can override this setting to specify a specific printer.
printername = "PDF Writer - bioPDF" 

runonce = obj.GetSettingsFileName(true)
              ^
              Error here


set oArgs=wscript.Arguments 

Rem -- Print all the files in the 'in' folder

dim file_name, template
dim command_line_args

set command_line_args = wscript.Arguments

'Check if any Arguments have been passed to our script. 
if command_line_args.count > 0 then
file_name = command_line_args(0)
template = command_line_args(1)

Set oWd = CreateObject("Word.Application")
oWd.Visible = False
wordname = """" & "c:\MTMS\MTMSPRT\" & file_name & """"
    wscript.echo wordname
Set oDoc = oWd.Documents.Open(wordname)
    Set oPS = oDoc.PageSetup 

    ' Reduce the margins to .5" (36 points) 
oPS.LeftMargin = 8.4 
    oPS.RightMargin = 0.2 

'Save changes to doc on closing and quit Word
oDoc.Saveas wordname , 0
wscript.echo "Saved"
oDoc.Close
wscript.echo "close"
oWd.Quit
wscript.echo "Quit"
Set oWd = Nothing
Set objShell = Nothing

wscript.echo "Cleared Word"
Set oWd = Nothing
Set objShell = Nothing




output = "c:\MTMS\MTMSPRT\PDFs\" & Replace(ucase(file_name), "DOC", "") & "PDF"

Rem -- Set the values
obj.Init
obj.SetValue "Output", output
obj.SetValue "ShowSettings", "never"
obj.SetValue "ShowPDF", "no"
obj.SetValue "ShowProgress", "no"
obj.SetValue "ShowProgressFinished", "no"
obj.SetValue "SuppressErrors", "no"
obj.SetValue "ConfirmOverwrite", "no"
obj.SetValue "superimpose", template



Rem -- Write settings to the runonce-Invoice.ini
obj.WriteSettings True
wscript.echo "runonce created"
Rem -- Print the document
printfile = "c:\MTMS\MTMSPRT\" & file_name
cmd = """" & "c:\Montupet\PDF\printto.exe"" """ & printfile & """ """ &     printername & """"
wscript.echo "printfile line setup" 
Set WshShell = WScript.CreateObject("WScript.Shell")
ret = WshShell.Run(cmd, 1, true)
wscript.echo "shell run start"
Rem -- Wait until the runonce is removed.
Rem -- When the runonce is removed it means that the gui.exe program 
rem -- has picked up the print job and is ready for the next.
While fso.fileexists(runonce)
wscript.echo "checking for runonce"
    Rem -- Wait for some milliseconds before testing again
    wscript.sleep 100
Wend
wscript.echo "runonce gone"
end if

Rem -- Dispose the printer control object
set obj = Nothing
3
  • what is the progid from set obj = CreateObject(progid)? does the object that is created support the method GetSettingsFileName()? Commented Oct 23, 2012 at 13:56
  • what is the value of progid at the line set obj = CreateObject(progid)? Commented Oct 23, 2012 at 14:09
  • the value of this - bioPDF.PDFSettings, this is stored in the xml document Commented Oct 23, 2012 at 14:14

1 Answer 1

1

Judging by this blog post for VB6,

runonce = obj.GetSettingsFileName(true)

should instead be

runonce = obj.GetSettingsFilePath(true)

The BioPDF website has a reference which might help further.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.