Hi
Please excuse I'm not a native speaker.

I know the following vbs-code starts Excel:

dim app
set app= createobject("Excel.Application")
app.visible=true

Now i want the following vba-code insert in my vbs-code, so this happend:
the user clicks a button on my website, vbscript starts Excel ,open the file
Ergebnisse.txt and make the formatsettings i want(Import the textfile etc.)

vba-code:
Workbooks.OpenText Filename:="C:\Ergebnisse.txt", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True,
Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2,
2), _
Array(3, 2), Array(4, 2), Array(5, 1)), TrailingMinusNumbers:=True

Any Hints? Thanks

Re: How can vbscript start an application like Excel with parameter? by Michael

Michael
Thu Nov 04 18:58:47 CST 2004


> Any Hints? Thanks

Automating Office applications externally via VBScript (or any other COM
capable language) starts by creating a reference to the specific Office
application's Application object via CreateObject and the appropriate progid
(e.g., "Word.Application" or "Excel.Application").

Your best bet is to then refer to the Office VBA documentation...

Documentation for Office object models is supplied with every copy of
Office. Start the Office application you're interested in. On the menu bar,
select Help/Contents and Index. In the contents, select Microsoft Visual
Basic Reference/Visual Basic Reference. This will bring up the VBA help
file.

When you read the help on the various objects, properties, methods, etc. you
have to keep in mind that it's written in the context of VBA hosted by a
specific VBA-enabled application, not VBScript. VBA is hosted "from the
inside" by the specific application. As the host, it automatically provides
things to the VBA code that aren't automatic when you automate an
application's object model "from the outside" using VBScript hosted by WSH.

The key items to remember:

--- No objects are automatically exposed to VBScript. You generally use an
explicit CreateObject to get an instance of an object to use as the "root",
usually the ".Application" object.

---In VBA that Application object and it's immediate interface members
(properties/methods) are automatically exposed. In VBScript you refer to the
Application object and it's properties/methods through the object variable
reference returned by the CreateObject.

---Named constants specific to the application aren't exposed. You can
either look them up and code them locally in the VBScript code as Const
variables, or you can use the .wsf file format and a <reference> element to
automatically expose them.

---VBA supports named argument syntax (e.g., ArgName:="argvalue") in method
calls. In WSH hosted VBScript, you have to code all arguments as positional
arguments since named argument syntax is not supported.

Once you understand the "VBA from the inside" vs "VBScript from the outside"
issues and the fundamental differences between VBA and VBScript as separate
but similar languages, you should be able to mentally "port" VBA and even
full VB examples to VBScript.

A common trick scripters often use is recording a VBA macro within an Office
application while performing a task that they want to automate and then
porting the VBA macro code to VBScript.

--
Michael Harris
Microsoft.MVP.Scripting
Sammamish WA US