Jump to content
Sign in to follow this  
waltermendez99

Cargar instrucciones de código desde un archivo de texto a vba

Recommended Posts

Hola estimados todos,

Es posible cargar las instruciones de un procedimiento de código desde un archivo de texto a vba?, es decír si coloco lo siguiente en un archivo de texto en la raiz C:/

el archivo se llamaría : Principio.txt

sub principio ()
ExecuteExcel4Macro ("show.toolbar(""ribbon"",1)")
Application.DisplayFormulaBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayStatusBar = True
End Sub

El otro archivo se llamaría : Finaliza.txt

sub finaliza ()
ExecuteExcel4Macro ("show.toolbar(""ribbon"",0)")
Application.DisplayFormulaBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayStatusBar = False
UserForm1.Show
End Sub

y en el thisworkbook de mi libro poner lo siguiente:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Que busque la ruta del archivo de texto: Principo.txt y ejecute lo que hay en el. Si no lo encuentra, que lo notifique y pues continúe abriendo excel.
End Sub

Private Sub Workbook_Open()
Que busque la ruta del archivo de texto: Finaliza.txt y ejecute lo que hay en el. Si no lo encuentra, que lo notifique y pues continúe abriendo excel.
End Sub

Estos procedimentos harán que ocultar todas las herramientas de excel y cada vez que yo quiera tener acceso a las herramientas, baste sólo con ir a quitar temporalmente estos archivos de la raíz. Será posible?'

Gracias de antemano!!

 

 

 

Share this post


Link to post
Share on other sites

Una alternativa, aunque no exactamente lo que estás pidiendo, es colocar las macros en otro libro, o complemento, e invocar el método Application.Run:

Application.Run "Book1.xls!MyMacroName"

haciendo notar que el otro libro, o complemento, debe estar abierto (ni no lo está, ábrelo con Workbooks.Open)

Fuente: http://www.rondebruin.nl/win/s9/win001.htm

Share this post


Link to post
Share on other sites
Hace 3 horas, waltermendez99 dijo:

Es posible cargar las instruciones de un procedimiento de código desde un archivo de texto a vba?

las instrucciones que indicas solo son operacionales desde la interfaz de excel/vba, entonces, si NO existe una razón "de peso" en contrario, lo indicado es que las uses en los eventos de apertura y cierre del mismo libro que contiene el UserForm a mostrar

puedes evitar el evento de apertura manteniendo pulsada la tecla {shift} al momento de abrir el libro y puedes omitir el evento de cierre a través de una variable que indique si se ejecutó (o no) dicho evento

saludos,
hector.

Share this post


Link to post
Share on other sites

Gracias a todos por sus respuestas,

Me llaman la atención sus consejos, sin embargo veo un poco más la facilidad de lo que comenta Hector Miguel, probaré con las opciones del formulario y pues veremos la funcionalidad, en caso contrario trataré de utilizar la tecla shift, si en efecto funciona me bastará utilizar la tecla.

Ya les estaré comentando..

 

Share this post


Link to post
Share on other sites

Gracias Macro Antonio, creo que el archivo sería mejor aplicable para un asunto de mayor necesidad o como dijo HECTOR MIGUEL:

Hace 13 horas, Héctor Miguel dijo:

si NO existe una razón "de peso"

Pensaba en algo mas práctico,

Lo del Shif no me funcionó lo presione antes de hacer click al archivo, durante y después y no detuvo el proceso.

Utilicé los eventos del formulario de inicialización y terminación y pues esta alternativa me funciona igual a como lo tenía antes, sólo que esta vez no cierra el excel y deja al descubierto las herramientas de excel.

Lo que se me ocurre es utilizar un INPUTBOX para generar el ingreso de alguna contraseña y ha dependencia de ello corra los codigos que necesito. Créo que será lo mas práctico :).

Saludos.

 

Muchas Gracias!!

 

Share this post


Link to post
Share on other sites
Hace 41 minutos , waltermendez99 dijo:

Lo del Shif no me funcionó lo presione antes de hacer click al archivo, durante y después y no detuvo el proceso

en un modulo de código estándar:

Public Restablecer As Boolean

en el modulo de código del libro:

Private Sub Workbook_Open()
  ExecuteExcel4Macro "show.toolbar(""ribbon"",0)"
  Application.DisplayFormulaBar = False
  Application.DisplayStatusBar = False
  ActiveWindow.DisplayWorkbookTabs = False
  UserForm1.Show
  Restablecer = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If Not Restablecer Then Exit Sub
  ExecuteExcel4Macro "show.toolbar(""ribbon"",1)"
  ActiveWindow.DisplayWorkbookTabs = True
  Application.DisplayStatusBar = True
  Application.DisplayFormulaBar = True
End Sub
la tecla {shift} la debes mantener pulsada durante todo el proceso de selección y apertura del archivo
OJO: este procedimiento NO FUNCIONA si el libro lo abres desde la lista de elementos recientes del icono de excel en la barra de tareas
 
y... lo de mantener (cerrado o abierto) el excel... (no lo habías comentado antes) -?-
 
saludos,
hector.

Share this post


Link to post
Share on other sites

Muchas Gracias!! Hector,

Probaré de nuevo lo que me indicas, si "no llegara a funcionar", optaré por utilizar un userform para el ingreso de una contraseña y ha a dependencia de ello corra las instrucciones que necesito.

Muchas gracias por tu ayuda y tiempo.

Saludos a todos desde Guatemala!!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5