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)