Abrir libro con macro

Buenos días.
Para abrir un libro mediante una macro estoy utilizando el siguiente código
Workbooks.Open (\\Practicante\Mis documentos\GUIA PARA REALIZAR MONTAJES\GUIA PARA REALIZAR MONTAJES TORNOS AUTOMATICOS\Tornos Automaticos 150 - 300.xls)
Si quiero que este libro me abra en una hoja en especifico por ejemplo en la que dice "herramientas" que le debo agregar al código.
Y en caso que el libro este abierto por otra persona de la red, como lo puedo abrir en solo lectura, ya que si lo intento abrir me dice... Que este libro ya esta abierto y si lo lo abro se pueden perder los datos...
Muchas gracias.

1 Respuesta

Respuesta
1
Recibe mis cordiales saludos, el código que estas necesitando es el siguiente:
' Codigo: Abrir el libro.
Application.Workbooks.Open "C:\Practicante\Mis documentos\GUIA PARA REALIZAR MONTAJES\GUIA PARA REALIZAR MONTAJES TORNOS AUTOMATICOS\Tornos Automaticos 150 - 300.xls"
'Codigo: Activar una hoja del libro abierto
Workbooks("Tornos Automaticos 150 - 300.xls").Worksheets("herramientas").Activate
En el caso que el archivo de excel, sea un recurso compartido, por varios usuarios, lo que tendrías que hacer, es hacer clic derecho en el archivo de excel, hacer clic en la opción propiedades, y a continuación te aparecerá una ventana en la pestaña General, en la opción atributos marca la opción que dice solo lectura con una aspa, y luego clic en aceptar. Esto permitirá que lo usuarios solo puedan abrir el libro de excel no puedan realizar modificaciones en el archivo solamente sea de lectura. Saludos, espero haberte ayudado, y haber contribuido en tu aprendizaje, saludos, si la respuesta ha sido de tu ayuda, no te olvides de puntualizar.
Muchas gracias por tu pronta respuesta. Me funciona muy bien.
Aprovechando este contacto me gustaría preguntarte lo siguiente.
En la hoja del libro que que se abre mediante el código que me facilitaste tengo un commandbutton el cual me debe direccionar de nuevo al userform inicial, si la macro estuviera dentro del mismo libro solo seria escribir el código en el commandbutton de userform1. show.
Pero dado que el userform se encuentra en otro libro como seria el código para este caso.
Muchas gracias por tu ayuda.
Cuando programos objetos (Textbox, commandbuton, Combobox, etc) a nivel de macros, y estos objetos son insertados en una hoja"X ", la programación es a nivel de Sheets (hoja) es la misma que a nivel de VB(Insertamos objetos en un formulario). Por ejemplo: SI has insertado un control de tipo (objeto) commandbuton (Botón de comando) en una hoja, deseas que al presionar o hacer clic en el botón aparezca un formulario, tienes que usar el evento clic del botón de la siguiente manera: Solamente presiona doble clic en el botón y aparece el evento clic, de la forma como lo has realizado.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
En tu caso, si deseas activar una macro que se encuentra en otro libro lo que necesitas primero, es programar a nivel Sheet (hoja) el evento OPEN del otro libro como:
Vamos a implementar un código para que cuando habrás el libro y salga mensaje de seguridad habilitar te aparezca el formulario de ese libro, ¿cómo? De la siguiente manera:
Abre el libro por ejemplo Libro2, en el Objeto ThisWorbook presiona doble cklic y veras que se ha activado el objeto Worbook y activa el evento OPEN
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Cuando habrás el libro se abrirá automatimente el formulario, ya que estas diciendo que cuando el objeto Workbook(Libro) este abierto(OPEN), se muestre el formulario.
Ahora desde el código que te di para el libro1, solamente habré el libro automatimente se abrirá el formulario del otro libro.
Código: Abrir el libro.
Application.Workbooks.Open "C:\Practicante\Mis documentos\GUIA PARA REALIZAR MONTAJES\GUIA PARA REALIZAR MONTAJES TORNOS AUTOMATICOS\Tornos Automaticos 150 - 300.xls"
'Codigo: Activar una hoja del libro abierto
Workbooks("Tornos Automaticos 150 - 300.xls").Worksheets("herramientas").Activate
Eso es todo, espero haber contribuido con tu aprendizaje, y haber sido de ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas