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 SubEn 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