Bases de Datos > MS Access
pasar variable a comando Shell
(1/1)
Goliat2000:
Hola a todos; quiero pediros ayuda para una línea de código VBA que no acierto a conseguir. Tengo un formulario de consulta de libros, cuyo identificador es IdLibro; a su vez, en formato word, tengo unos escritos sobre comentarios a los libros. Cada word se identifica con el mismo numero de Idlibro; es decir, IdLibro= 12 , pues el escrito de ese libro se llama 12.doc. En el formulario de Access tengo puesto un botón de comando que al hacer click, quiero que me abra el texsto de word que corresponda en ése momento al IdLibro que tenga el formulario. Ejecuto la siguiente línea de código:
X = Me.IdLibro
Call Shell("C:\Microsoft Office\OFFICE11\WINWORD.exe C:\LecturasLibros\'" & X & ".doc")
y no me funciona a medias; el codigo me abre el word, pero no me abre el texto de word que debe abrir; la verdad, no se como podria pasarle la variable X teniendo en cuenta que, dicha variable X debe recoger el identificador de libro. Además, también me da un error en "X=Me.IdLibro" de que no coinciden los tipos.
Por favor, ¿alguien podría ayudarme e indicarme como sería el código correcto?
Gracias anticipadas y un saludo a todos
F_Tanori:
Hay un error en, un apostrofe
--- Citar --- Call Shell("C:\Microsoft Office\OFFICE11\WINWORD.exe C:\LecturasLibros\'" & X & ".doc")
--- Fin de la cita ---
Y creo que seria mejor utiliza un método como este en lugar de shell (que seria mejor ShellExecute) :
--- Código: Visual Basic ---Function AbrirArchivo(RutaDoc As String) As BooleanOn Error GoTo xError Dim Word As Object Set Word = CreateObject("Word.Application") Word.Visible = True Word.Documents.Open (RutaDoc) Set Word = Nothing AbrirArchivo = TruexError: If Err.Number > 0 Then AbrirArchivo = False End IfEnd Function
Uso:
--- Código: Visual Basic ---X = Me.IdLibroIf AbrirArchivo("C:\LecturasLibros\" & X & ".doc") Then MsgBox "No fue posible abrir el archivo", vbCriticalEnd If
Saludos
Navegación
Ir a la versión completa