Proyectos realizados con el lenguaje vba, el cual viene integrado en la aplicaciones de office.
🌍
- Introducción a Selenium Testing
- Chromium Code Search
- List of Chromium Command Line Switches
- chrome_switches.cc
- headless_shell_switches.cc
- pref_names.cc
- Cómo hacer data scraping con VBA y Selenium
- Using Excel VBA and Selenium
- XPath axes
- Window.scrollBy()
- Window.scroll()
- Window.scrollTo()
🎬
- Excel VBA Introduction Part 57.1 - Getting Started with Selenium Basic and Google Chrome
- Excel VBA Introduction Part 57.2 - Basic Web Scraping with Selenium and Google Chrome
- Excel VBA Introduction Part 57.3 - Using Different Web Browsers with Selenium
- Excel VBA Introduction Part 57.4 - Finding Web Elements in Selenium
- Excel VBA Introduction Part 57.5 - Implicit and Explicit Waits in Selenium
- Excel VBA Introduction Part 57.6 - Working with Multiple Tabs in Selenium
- Excel VBA Introduction Part 57.7 - Using Select Drop Down Lists in Selenium
- Excel VBA Introduction Part 57.8 - Printing in Google Chrome using Selenium
- Scroll down a web page in Chrome with Selenium for VBA
🎬
- 👇Ripley Puntos: Sirve obtener la información de los productos que puedes obtener con tus puntos ripley.
Private Function saveString(textToSave$)
Dim filePath As String
Dim fileNumber As Integer
filePath = "[RUTA_DEL_ARCHIVO]"
fileNumber = FreeFile
Open filePath For Output As #fileNumber
Print #fileNumber, textToSave
Close #fileNumber
MsgBox "Archivo guardado correctamente."
End Function
Private Function BarraDeProgreso()
Dim i As Long
Dim max As Long
max = 100
For i = 1 To max
Application.StatusBar = "Progreso: [" & _
String(i, ChrW(9608)) & String(max - i, " ") & "] " & _
Format(i / max, "0%")
Application.Wait Now + TimeValue("0:00:01")
Next i
Application.StatusBar = False
End Function
' Referencia: Microsoft Scripting Runtime
' Info From: https://www.automateexcel.com/vba/move-files/
Private Function MoveFiles( _
FromPath As String _
, ToPath As String _
, FileExt As String _
, Optional NewName As String = "") As Boolean
Dim fso As Scripting.FileSystemObject
Dim FileInFromFolder As Object
Dim fechaMasReciente As Date
Dim FromFile As String
Set fso = New Scripting.FileSystemObject
fechaMasReciente = DateValue("01/01/1900")
If ToPath = "" Then
MsgBox "Debe ingresar una dirección de una carpeta valida"
MoveFiles = False
Exit Function
End If
' Crea una carpeta en caso de que esta no exista
If Not fso.FolderExists(ToPath) Then
fso.CreateFolder ToPath
End If
' Determina el archivo mas reciente
For Each FileInFromFolder In fso.GetFolder(FromPath).Files
If LCase(Right(FileInFromFolder.Name, 4)) = FileExt Then
If fechaMasReciente < FileInFromFolder.DateLastModified Then
FromFile = FileInFromFolder.path
fechaMasReciente = FileInFromFolder.DateLastModified
End If
End If
Next FileInFromFolder
' Mueve el archivo en caso este exista
If fso.FileExists(FromFile) Then
If NewName <> "" Then
Name FromFile As ToPath & "\" & NewName & FileExt
Else:
fso.MoveFile _
Source:=FromFile, _
Destination:=ToPath
End If
End If
Set fso = Nothing
MoveFiles = True
End Function
' Referencia: Microsoft Scripting Runtime
Dim FSO As FileSystemObject
Dim envDict As Scripting.Dictionary
Public Sub LoadEnv()
'Initialize FileSystemobject and Dictionary objects
Set FSO = New FileSystemObject
Set envDict = New Scripting.Dictionary
'Define path to .env file
Dim envPath As String
envPath = ThisWorkbook.Path & "\.env"
'Check if .env file exists
If Not FSO.FileExists(envPath) Then
MsgBox "Could not find .env file"
Exit Sub
End If
'Read .env file and add variables to dictionary
Dim envFile As TextStream
Set envFile = FSO.OpenTextFile(envPath, ForReading)
Do Until envFile.AtEndOfStream
Dim line As String
line = envFile.ReadLine
If InStr(line, "=") > 0 Then
Dim parts() As String
parts = Split(line, "=")
'Delete single and doubles quotes
envDict(parts(0)) = Replace(Replace(parts(1), "'", ""), """", "")
End If
Loop
envFile.Close
End Sub
'Get value of environment variable
Private Function GetEnv(key As String) As Variant
If envDict.Exists(key) Then
GetEnv = envDict(key)
Else
GetEnv = Null
End If
End Function
- Pattern: El patrón que va a utilizar para comparar con la cadena.
- IgnoreCase: Si es True, entonces la coincidencia ignora las mayúsculas y minúsculas.
- Global: Si es True, entonces se encuentran todas las coincidencias del patrón en la cadena. Si es Falso, sólo se encuentra la primera coincidencia.
- MultiLine: Si es Verdadero, la coincidencia del patrón ocurre a través de los saltos de línea.
- Test: Busca un patrón en una cadena y devuelve True si se encuentra una coincidencia.
- Replace: Reemplaza las ocurrencias del patrón con la cadena de reemplazo.
- Execute: Devuelve las coincidencias del patrón con la cadena.
' Referencia: Microsoft VBScript Regular Expressions 5.5
Public Sub Regex()
Dim texto as String
Dim exp as Object
Set exp = New RegExp
exp.Pattern = ""
texto = ""
' Test: Busca un patrón en una cadena y devuelve True si se encuentra.
Debug.Print exp.Test(texto)
' Replace: Reemplaza las ocurrencias del patrón con la cadena de reemplazo.
Dim newTexto as String
exp.Global = False '
Debug.Print exp.Replace(texto, newTexto)
' Execute: Devuelve las coincidencias del patrón con la cadena.
Dim Coincidencias as object
Dim Coincidencia as object
exp.Global = False
exp.IgnoreCase = False
For Each coincidencia In coincidencias
Debug.Print coincidencia.Value
Next
End Sub
- Crea un libro de trabajo habilitado para macros
start excel /m