Ejecutar tarea personalizada

Se pueden programar tareas para ejecutar cualquier aplicación, por medio de macros o argumentos de línea de comando que especifique.

Consulte Temas de ayuda de API y de complementos de SOLIDWORKS para obtener información sobre los archivos de macro de SOLIDWORKS.
Todo lo que se puede ejecutar desde Windows Inicio > Ejecutar, se puede ejecutar como una tarea personalizada en el programador de tareas de SOLIDWORKS. Consulte los archivos de ayuda de la aplicación que quiera ejecutar para obtener información sobre los argumentos de línea de comando del programa y las macros de esa aplicación.

Crear una tarea en Ejecutar tarea personalizada

Para crear una tarea en Ejecutar tarea personalizada:

  1. Haga clic en Ejecutar tarea personalizada en la barra lateral, o haga clic en Tareas > Ejecutar tarea personalizada.
  2. En el cuadro de diálogo, escriba un título nuevo para la tarea o deje el predeterminado en Título de tarea.
  3. En Ruta de acceso del programa, escriba la ruta al programa que desea ejecutar, o haga clic en Examinar para localizarlo.
  4. Si el programa requiere argumentos, escríbalos en Argumentos de programa.
    Argumento de programa de SOLIDWORKS Definición de argumento de programa Establecido de forma predeterminada
    /b Ejecutar el software SOLIDWORKS en segundo plano
    /m Ejecutar la macro de SOLIDWORKS
  5. Para ejecutar una macro o una plantilla de macro de SOLIDWORKS escriba la ruta en Ruta de acceso de archivo de macro o haga clic en Examinar para localizarla.
    Si especifica una plantilla de macro de SOLIDWORKS, los nombres de señal y sus tipos aparecen en las columnas Nombre de parámetro o Tipo de Parámetros de tarea.
  6. En cada una de las filas que muestran un Nombre de parámetro y un Tipo, haga clic en la columna Cadena de parámetros y escriba el valor del parámetro.
Si especifica una plantilla de macro de SOLIDWORKS, cree una copia de seguridad del archivo de plantilla de macro antes de programar y ejecutar la tarea, o almacene el archivo de plantilla de macro en una ubicación diferente al directorio de trabajo para tareas. Haga clic en Ver > Opciones > Opciones de tarea para ver el directorio de trabajo para tareas.

Creación de una plantilla de macro de SOLIDWORKS

Una plantilla de macro de SOLIDWORKS es una macro de SOLIDWORKS que le permite especificar los valores de parámetros cuando la programa como tarea personalizada en el programador de tareas de SOLIDWORKS. Una plantilla de macro de SOLIDWORKS es un archivo de texto que suele contener código Visual Basic, llamadas de la API de SOLIDWORKS y nombres de señal. Cuando se programa una plantilla de macro de SOLIDWORKS para que ejecute una tarea personalizada en el programador de tareas de SOLIDWORKS, se especifican los valores de parámetros para sustituir los nombres de señal.

Los nombres de señal pueden ser cadenas de texto o numéricas. Están formateados como se indica:

Tipo de parámetro Formato del nombre de señal
Cadena $$$<nombre_señal>$$$
Número ###<nombre_señal>###

Una plantilla de macro de SOLIDWORKS debe tener una extensión de nombre de archivo .swb.

Para crear una plantilla de macro:

  1. Abra un archivo de texto por medio del Bloc de notas de Windows, WordPad de Microsoft u otro editor de texto.
  2. Copie y pegue una macro de SOLIDWORKS en el archivo de texto.
    Consulte Temas de ayuda de API y de complementos de SOLIDWORKS para obtener información sobre los archivos de macro de SOLIDWORKS.
  3. Escriba los nombres de señal en lugar de los parámetros cuyos valores quiere especificar. Por ejemplo:
    Código original: swApp.SetCurrentWorkingDirectory "c:\temp"
    Código modificado: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Guarde el archivo de texto con una extensión de nombre de archivo .swb.
    Cree una copia de seguridad de la plantilla de macro de SOLIDWORKS antes de programarla y ejecutarla, o almacene el archivo de la plantilla de macro de SOLIDWORKS en una ubicación diferente al directorio de trabajo para tareas. Haga clic en Ver > Opciones > Opciones de tarea para ver el directorio de trabajo para tareas. Cuando se ejecuta una tarea que utiliza una plantilla de macro de SOLIDWORKS, el sistema crea una copia de la plantilla de macro y reemplaza los nombres de señal con los valores de parámetros que se especificaron al programar la tarea. El sistema guarda el archivo en el directorio de trabajo para tareas con el mismo nombre que la plantilla de macro original de SOLIDWORKS. Si la plantilla de macro original de SOLIDWORKS se almacena en el directorio de trabajo para tareas, el sistema la sobrescribe con el nuevo archivo.
    El siguiente código es un ejemplo de una plantilla de macro de SOLIDWORKS. Abre cada documento de dibujo de SOLIDWORKS en una carpeta y lo guarda como un archivo DXF. Cuando se programa una plantilla de macro como una tarea personalizada en el programador de tareas de SOLIDWORKS, se especifican los parámetros para sustituir los nombres de señal: $$$TASK_SOURCE_DIR$$$ y $$$TASK_DESTINATION_DIR$$$.
    Dim swApp As Object
    Dim swModel As Object
    Dim ret As Boolean
    Dim openError As Long
    Dim openWarn As Long
    Dim errorFilePath As String
    Dim nErrors As Long
    Dim nWarnings As Long
    Dim destinationPath As String
    Dim sourcePath As String
    Dim modelTitle As String
    
    Sub main()
    
        sourcePath = $$$TASK_SOURCE_DIR$$$
        destinationPath = $$$TASK_DESTINATION_DIR$$$
         
        errorFilePath = destinationPath + "\" + "swTaskScheduler.error"
        ErrorOut "Start logging any errors...", errorFilePath
        
        Set swApp = CreateObject("SldWorks.Application")
        swApp.SetCurrentWorkingDirectory destinationPath
        
        ' Determine type of document
        
        openWarn = 0
        
        Dim fileName As String
        fileName = Dir(sourcePath + "\*.SLDDRW")
        
        Do While fileName <> ""
            modelTitle = ""
            Set swModel = swApp.OpenDoc6(sourcePath + "\" + fileName, 3, 1, "", openError, openWarn)
            
            
            If (openWarn And 2) Then
                ErrorOut "File is read-only.", errorFilePath
                ret = False
            ElseIf (openWarn And 4) Then
                ErrorOut "File is locked by another user.", errorFilePath
                ret = False
            ElseIf (openWarn And 512) Then
                ErrorOut "File is view-only.", errorFilePath
                ret = False
            Else
                ret = True
            End If
            
            If Not swModel Is Nothing Then
                modelTitle = swModel.GetTitle()
                If ret = True Then
                        ' Strip off SOLIDWORKS drawing file extension (.slddrw)
                        ' and add DXF file extension (.dxf)
                        Dim sPathName As String
                        sPathName = swModel.GetPathName
                        sPathName = Left(sPathName, Len(sPathName) - 6)
                        sPathName = sPathName + "dxf"
                        sPathName = Replace(sPathName, sourcePath, destinationPath)
                        ' Save as file as DXF
                        bRet = swModel.SaveAs4(sPathName, swSaveAsCurrentVersion, swSaveAsOptions_Silent, nErrors, nWarnings)
                End If
                
                Set swModel = Nothing
                swApp.CloseDoc modelTitle
            End If
    
            
            fileName = Dir
        Loop
              
        ' Exit the SOLIDWORKS software
        swApp.ExitApp
        Set swApp = Nothing
        
    End Sub
    
    Function ErrorOut(errorString As String, errorFilePath As String)
        Open errorFilePath For Append As #5
        Print #5, errorString
        Close #5
    End Function
    

Programar la tarea

Para programar la tarea:

  1. En el Programador de tareas, configure:
    Opción Descripción
    Modo de ejecución Especifica la frecuencia con la que se ejecuta la tarea. Seleccione Una vez, Diariamente, Semanalmente o Mensualmente.
    Hora de inicio  
    Fecha de inicio  
  2. Haga clic en Finalizar.
    La tarea y su título, la hora programada, la fecha programada y el estado aparecen en el panel Tareas. El estado de la tarea será Programado.
    Para ejecutar una tarea programada, su computadora debe estar encendida en la hora de inicio programada. La ventana Programador de tareas de SOLIDWORKS no tiene por qué estar abierta. Si la computadora está apagada a la hora de inicio programada, la tarea se ejecuta al encenderla.

    A la hora de inicio programada, se inicia la tarea. Si la tarea utiliza una plantilla de macro de SOLIDWORKS, el sistema crea una copia de la plantilla de macro y reemplaza los nombres de señal con los valores de parámetros especificados, a continuación guarda el archivo en el directorio de trabajo para tareas con el mismo nombre de archivo que la plantilla de macro original de SOLIDWORKS. Se ejecutan los comandos de macro y el programa.

    Cuando la tarea finaliza, el estado es En curso. Al cerrarse el programa programado, el estado pasa a ser Finalizado.