¡Gracias por mirar esto! Soy un principiante intermedio en VBA. Estoy escribiendo en el sistema operativo Microsoft 2010 y Excel 365. He escrito un script para procesar un archivo de fila de 150K cuando se ejecuta. Actualmente abre un archivo de origen ubicado en una unidad de Sharepoint. ese camino se ve así:
"\(nombre del servidor)\Archivos SQL\2022\06.2022\Junio2022Nombre.xlsx"
El archivo que me gustaría que VBA abra automáticamente es el que coincide con el mes actual, ya que hay archivos para cada mes durante el año pasado y se crea una nueva carpeta a medida que avanzan los meses, es decir, actualmente no hay una carpeta para julio pero se escribirá como 2022\07.2022\July2022Name.xlsx
Revisé varias secuencias de comandos de selección de nombres y no puedo indicarle a VBA que lo haga. Me faltan pasos, creo. Esto es lo que he probado hasta ahora
'Find Workbook Filename <br> Dim dt as String, dt2 as string Filename as String, strMonth as string<br> strMth = Monthname(Month(Now()), True<br> if Month(Now()) = 1 Then<br> strPriorMth = MonthName(12,True)<br> Else st PriorMth = Monthname(Month(Now())-1, True<br> dt2 = StrMonth(mm).YYYY dt = StrMonth(mmm)YYYY <br> filename = "\\(server name)\SQL Files\2022\"dt2"\"dt & "SqlViews.xlsx"<br>Me disculpo por tener problemas con algo tan simple. No estoy seguro de cómo convertir dt2 como una cadena de números y dt como lo que creo que es una cadena nvarchar. ¡Cualquier ayuda sería invaluable!
No estoy seguro de la salida exacta que desea. Pero aquí hay un ejemplo.
Sub test() Dim dt As String, dt2 As String Dim filename As String, strMonth As String strMth = MonthName(Month(Now())) If Month(Now()) = 1 Then mth = "12" strPriorMth = MonthName(12, True) Else mth = Month(Now() - 1) strPriorMth = MonthName(Month(Now()) - 1, True) End If dt = Format(mth, "mm") dt2 = Format(mth, "mmm") filename = "\\(server name)\SQL Files\2022\" & dt2 & "\" & dt & "SqlViews.xlsx" Debug.Print filename End Sub