views:

164

answers:

2

Hi there,

Using visual basic in say Excel, I am able to declare WinAPI functions using the DECLARE keyword - e.g.

Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" ( _
    ByVal Locale As Long,
    ByVal LCType As Long,
    ByVal lpLCData As String
) As Boolean

However when using this syntax in a *.VBS file - it fails with a compile error.

Can anyone tell me what I need to do to run WinAPI functions from *.VBS files?

+3  A: 

You can't run WinAPI functions from VBScript without some extra third-party support.

I believe there used to be vendor of a COM component which allowed VBScript to call into a standard dll but I can't remember what it was called and its quite possible that my imagination is playing tricks on me.

AnthonyWJones
thanks, 20 mins of googling didnt tell me that :)
divinci
A: 

Plenty of forum posts mention 'dynacall' as the wrapper I think you're talking about however the two main links they post seem defunct

For what it's worth HTA may be worth looking at as an easy to use substitute http://www.microsoft.com/downloads/en/details.aspx?FamilyId=231D8143-F21B-4707-B583-AE7B9152E6D9&displaylang=en

Neville Shaun Ng