J Doe
J Doe

Reputation: 112

VBA : Enexpected running VBA from cmd line

I wanted to open an existing ppt using Wscript and modify it. For that I am opening the file in visual studio editor and executing the script from cmd in windows using WScript hi.vbs

But when I ran the same code I am getting error.

Expected end of statement in line 4 

Line 4 looks like Dim objNewPowerPoint As Object However Same case works when I run code in excel VBA editor.

When I am removing the As object I am not getting any error nor any changes are happening in the PPT file. Wondering what is the possible issue.

I am not using excel vba or word vba i am just running the file from cmd

Sub Open_an_existing_Presentations()

Dim objNewPowerPoint As Object
Dim MyPresentation  As Object
Dim pSlides  As Object

Set objNewPowerPoint = CreateObject(PowerPoint.Application)
'Make this Application Object Visible
objNewPowerPoint.Visible = True

Please help me how can i modify and more importantly how to see both errors compile and syntax.

FYI : I am completely new into VBA and I am trying to update a PPT and wanted to run vba script from another program so trying something like this. Best suggestions are always welcome

Upvotes: 0

Views: 151

Answers (1)

CatCat
CatCat

Reputation: 491

In VBScript you cannot dim something as something.

Dim objNewPowerPoint
Dim MyPresentation
Dim pSlides

And dim is optional and serves no technical purpose in VBS (it merely catches spelling mistakes if Option Explicit is specified, else it does nothing at all as in your case except take time to the process the line). In compiled languages it allocates storage and checks data types when using it.

When you use Set = VBS knows it an object and makes it one (4 x 32 bit integers - One a reference count and another a memory address of the function table for the object - two are unused). If you use x=5555 vbs knows it's a integer.

Upvotes: 1

Related Questions