Add-In
Elemental
Para
Principiantes (o Programadores que no estén dispuestos a
romperse el coco con esto...)
Fecha: 04/07/98 (publicado
08/07/98)
Autor: Guillermo Sieder
Creo que no es muy usual que a uno se le ocurra hacer un
Add-Inn, lo mismo pensé en su momento del truco de hacer
desaparecer la barra de tareas hasta que me lo pidieron en un
Programa de Autocapacitación...
Por una de esas cosas, mi VB está en inglés,
por lo que describo los menúes y opciones en esa lengua y, entre
paréntesis, lo que supongo debiera decir el que está en
castellano.
|
#If Win16 Then
Declare Function OSWritePrivateProfileString% Lib
"KERNEL" Alias "WritePrivateProfileString"
(ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal
FileName$)
Declare Function OSGetPrivateProfileString% Lib
"KERNEL" Alias "GetPrivateProfileString"
(ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal
ReturnString$, ByVal NumBytes As Integer, ByVal FileName$)
#ElseIf Win32 Then
Declare Function OSWritePrivateProfileString% Lib
"Kernel32" Alias "WritePrivateProfileStringA"
(ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal
FileName$)
Declare Function OSGetPrivateProfileString% Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$)
#End If
Sub Main
Dim Ret As Variant
Dim RetStr As String
Const BufSize = 255
#If Win16 Then
Const Section = "Add-Ins16"
#ElseIf Win32 Then
Const Section = "Add-Ins32"
#End If
RetStr = Space(BufSize)
Ret = OSGetPrivateProfileString(Section, "MsgWiz16.WizardDelGuille", "NotFound", RetStr, BufSize, "VB.INI")
RetStr = Left(RetStr, Ret)
If RetStr = "NotFound" Then
OSWritePrivateProfileString Section, "MsgWiz16.WizardDelGuille", "0", "VB.INI"
End If
End Sub
Puede que esté de mas decirlo pero...: "Los párrafos que comienzan con Declare , deben escribirse en una sola línea"
|
Private ThisInstance As VBIDE.Application
Private AddInMenuLine As VBIDE.MenuLine
Private hMenuLine As Long
Dim AddInItems As Object
Dim DFDMenu As Object
Dim ConnectID As Long
Public Sub AfterClick()
'Aquí está la parte interesante:
'Estas son las instrucciones que se ejecutarán cuando el usuario decida
'poner en funcionamiento nuestro Add-Inn.
'En el caso del programa del Guille escribimos:
x = Shell("c:\guille\MsgWiz.exe", 1)
'donde evidentemente lo único que hago es tener en cuenta es el path
'completo de la aplicación.
'Pero supongamos que el mismo programa MsgWiz fuera un Add-Inn, lo que
'tendríamos que escribir es:
'Form1.Show vbModal
'donde Form1 es el formulario principal de la Aplicación del Guille.
End Sub
Public Sub ConnectAddIn(VBInst As VBIDE.Application)
On Error GoTo error_handler
Set gobjIDEAppInst = VBInst
Set AddInItems = VBInst.AddInMenu.MenuItems
Set DFDMenu = AddInItems.Add("El MsgWizzard del Guille")
ConnectID = DFDMenu.ConnectEvents(Me)
Exit Sub
error_handler:
MsgBox Err.Description
Exit Sub
End Sub
|
Guillermo Sieder
Bahía Blanca
Argentina
Listados del AddIn para VB4-16 bits. ( 8.20 KB)