Evento "Beforeload"

rguez

Board Regular
Joined
Jul 24, 2002
Messages
78
Hola otra vez

¿existe el evento BeforeLoad,
tal como existe BeforeSave ?

Como creo un nuevo botón en la barra de herramientas para hacer un boton personalizado asignado a una macro

Gracias
 

Excel Facts

What do {} around a formula in the formula bar mean?
{Formula} means the formula was entered using Ctrl+Shift+Enter signifying an old-style array formula.
Hola, esto es una respuesta que hice hace tiempo para explicar a personas como hacer un botón en una barra de herramientas, pero es en inglés. Espero que la pueda entender...

To add a Custom Toolbar Button:

Case 1 - For yourself (macro is probably in your Personal macros WB).
  1. Right-click any toolbar or the menubar.
  2. Pick Customize... off the popup (should be the last option).
  3. [(Optional) Click the New... button on the toolbars tab in the Customize Toolbars dialog box to create a new toolbar.]
  4. Pick the Commands tab, scroll down to the Category for Macros and then drag the Custom Button over to your target toolbar.
  5. Right-click the newly added button to assign your macro and edit the caption and image to your fancy.
Case 2 - If your going to distribute the WB to others and want the toolbar to go with the WB:
  • As above, r-click any tbar and pick Customize...
  • On the Toolbars tab, click the New... button.
  • Follow steps 4 and 5 above.
  • Go back to the Toolbars tab and click the Attach... button to attach the new custom toolbar to your workbook.
 
Upvote 0
Les explico un poco más

En estos momentos tengo intervenida la grabación con el evento before save. Lo que necesito es poder intervenir el "abrir", es decir, cuando se presione en el boton de "abrir" o la popup de abrir o con CTRL+A etc.

El evento Open es para que se ejecute el codigo del libro que se abre y no me sirve.

Lo que indica greg suena bien ¿cómo asigno un procedimiento a ese custom button?

:rofl:
 
Upvote 0
Haz un cliq-derecho sobre el botón y aparecerá un menú popup. Debe haber una opción para asignar el macro. En XL en inglés es la última opción en el popup.
 
Upvote 0
He logrado hacer lo que indica Greg, crear la barra de botones e incrustarla en la ficha (attach) pero aún no he logrado

*) Cuando se habre el libro, la barra de herramientas que creé aparece pero "flotando", necesito que se integre automáticamente dentro de las barras de la parte superior de la ventana (utilizando código VBA por supuesto)

*) Cuando se cierra el libro la barra sigue estándo presente. ¿cómo elimino la barra? (utilizando código VBA por supuesto)

Gracias :->
 
Upvote 0
En cuanto a un "beforeload" no veo como. Si uno hace una copia de Excel en un ClassModule, su método

Private Sub xlApp_WorkbookOpen(ByVal Wb As Excel.Workbook)

corre después de que corre el _Open del cuaderno, no antes. Entonces al menos que hay un WinAPI call no me ocurre nada.
 
Upvote 0
De un cuaderno que hice hace años:

<font face=Courier New>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_Open()
    <SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">GoTo</SPAN> oops
    Application.CommandBars("Error Report").Visible = <SPAN style="color:#00007F">True</SPAN>
    Application.CommandBars("Error Report").Position = msoBarRight
    <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
oops:
    MsgBox "Error Report Toolbar not Found", vbExclamation, "Non Fatal Error"
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>

Cambie msoBarRight a msoBarTop

<font face=Courier New>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_Activate()
<SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN>
Application.CommandBars("Error Report").Visible = <SPAN style="color:#00007F">True</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>

<hr>
<font face=Courier New><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_BeforeClose(Cancel <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Boolean</SPAN>)
    <SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN>
    Application.CommandBars("Error Report").Visible = <SPAN style="color:#00007F">False</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>

<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_Deactivate()
    <SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN>
    Application.CommandBars("Error Report").Visible = <SPAN style="color:#00007F">False</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>

Ponga en ambos _BeforeClose y _Deactivate asi que no queda visible si su cuaderno es el activo.
 
Upvote 0

Forum statistics

Threads
1,223,944
Messages
6,175,553
Members
452,652
Latest member
eduedu

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top