Modificar archivo excel sin abrir

DAM, en esta oportunidad requiero de tu ayuda como siempre; he obtenido investigando las siguientes macros:

Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
    Dim arg As String
'   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
'   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)
'   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function

y la siguiente:

Sub TestGetValue()
    p = "c:\XLFiles\Budget"
    f = "Libro1.xlsm"
    s = "Registro"
    a = "A1"
    MsgBox GetValue(p, f, s, a)
End Sub

Por medio de éstos procedimientos obtengo la lectura del contenido de una celda específica, sin abrir el archivo excel.

Lo que necesito de tu ayuda es adaptar las anteriores instrucciones para que igualmente sin abrir el archivo me guarde un dato específico en la celda "ZZ2" de la hoja con nombre "registro" que se encuentra oculta con el evento: "xlSheetveryhidden".

Indispensablemente se debe realizar la tarea "Sin Abrir el libro de excel"

Quedo pendiente de lo que requieras para aclarar cualquier duda y de antemano infinitas

1 respuesta

Respuesta
1

H o l a:

He buscado sobre el tema y para VBA no he encontrado nada. Las recomendaciones son las mismas.

  • Abrir el archivo
  • Realizar los cambios
  • Guardar y cerrar el archivo.

Las recomendaciones son que se haga en una aplicación de forma invisible, de esa forma parecerá que no se abre el libro.

Te recomiendo que lo hagas desde Visul Basic, para ello deberás instalar VB.

Si ya tienes VB instalado, entonces pon la pregunta, pero en el tema de VB para que un experto en VB pueda ayudarte.

Sal u dos

Dam, primero que todo muchas gracias por todo el tiempo que te has tomado en investigar sobre éste tema, que la verdad es muy poco o nada lo que se consigue en la web, he encontrado dos o tres recursos para traer datos desde un archivo al libro de donde se está ejecutando la macro y el que veo es más o menos lo que necesito es lo que te expuse anteriormente, es solo que lo requiero en sentido inverso, por decirlo de alguna manera, si con la siguiente línea se lee el contenido de una celda de un libro cerrado:

MsgBox GetValue(p, f, s, a)

si intento por la lógica de la programación invertor como algo así:

GetValue(p, f, s, a) = "Dato a Transferir"

Me indica error y me dice que requiere un objeto y la verdad no se que más vueltas debo darle y ésto, o sea, que si se puede leer datos de un libro cerrado usando excel, creo estar casi seguro se puede registrar datos a un libro igualmente cerrado sin necesidad de abrirlo.

Espero tus comentarios y con la esperanza que me puedas ayudar a dilucidar y superar, éste obstáculo.

Saludos.

Leer y escribir son 2 temas diferentes.

Para leer información de archivos cerrados existen varias formas.

Para escribir en un archivo cerrado no he encontrado nada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas