Editar o código VBA Excel para agregar función
Teno este código el cual funciona al 1000% pero
Option Explicit Dim archivos() Private Sub CreoBath() Dim a As String Dim b As String Dim c As String Dim i As Long Dim fold As Variant Dim fc As Variant Dim f As Variant Dim xtx As String Erase archivos a = "Regsvr32.exe " b = ThisWorkbook.Path & Application.PathSeparator & "Registro librerias.cmd" 'era Registrante.bat On Error Resume Next With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Selecciona carpeta contenedora" .Show fold = .SelectedItems(1) End With If Err.Number <> 0 Then Exit Sub If Right(fold, 1) <> Application.PathSeparator Then fold = fold & Application.PathSeparator With CreateObject("Scripting.FileSystemObject") With .GetFolder(fold) Set fc = .Files End With For Each f In fc c = UCase(.GetExtensionName(fold & f.Name)) If c = "OCX" Or c = "DLL" Then ReDim Preserve archivos(i) archivos(i) = f.Name i = i + 1 End If Next c = .GetSpecialFolder(1) & Application.PathSeparator For i = LBound(archivos) To UBound(archivos) xtx = xtx & a & c & archivos(i) & vbNewLine Next i With .CreateTextFile(b, True) .WriteLine (xtx) .Close End With End With MsgBox "Archivo Registro librerias.cmd creado", vbInformation, "" Erase archivos End Sub
En un libro .xls con una sola hoja "hoja1". En el codigo de esta misma hoja colocar este codigo y ejecutarlo desde un boton (Forma) en Hoja1
Quisiera que dentro de este mismo codigo, auto verifique por si solo (antes de crear archivo),
1º si el sistema es de X86 o X64.
2º que al crear el archivo "Registro Librerias.cmd" lo crie para x86 o X64 segun sea el SO.detectado
Ahora crea el archivo SOLO para x86 y las lineas creadas son
%systemroot%\System32\regsvr32.exe Nombre.ocx
Para SO X64 tenian que ser
%systemroot%\SysWoW64\regsvr32.exe Nombre.ocx
O entonces algo mejor aun si se pudiera corrigir en el codigo
cd..
cd SysWOW64
Regsvr32.exe %Systemroot%\SysWOW64\nombre.ocx
Regsvr32.exe %Systemroot%\SysWOW64\nombre.ocx
Regsvr32.exe %Systemroot%\SysWOW64\nombre.ocx
Regsvr32.exe %Systemroot%\SysWOW64\nombre.ocx
La cantidad de librerias (archivos) seria la cantidad que encuentre en la carpeta.
Si el deseo es que suba el libro o envia via E-Mail, lo hare porque en la hoja tien la explicacion de como ejecutarlo para que crie dicho archivo para registrar librerias
Gracias