Escribir información en una hoja de cálculo de Excel

Ya hemos definido todos los valores de parámetros necesarios para que el modelo calcule los números de pieza. La última regla que se escribe pasa los números de pieza y otros valores de parámetros asociados con este archivo a una hoja de cálculo Excel. Algunos de estos números de pieza se encuentran en iParts y esta regla ha generado el número de pieza del tornillo.

El archivo update_excel_spreadsheet_rule utiliza un conjunto de funciones disponibles en la categoría Vínculos de datos de Excel, en el área Fragmentos del cuadro de diálogo Editar regla.

  1. Añada una nueva regla llamada update_excel_spreadsheet_rule.

    Esta regla se coloca en las celdas pertinentes según el estado del modelo. En la hoja de cálculo, todas las celdas a las que se pasan datos se les han asignado nombres que se corresponden con la información que se guarda en ellas.

  2. Cree la primera parte de la regla, que abre la hoja de cálculo y escribe los tres primeros valores de celda.

    Copie el bloque de código

    GoExcel.CellValue("part_number.xls", "Sheet1", "Block_Type") = component_type
    GoExcel.CurrentCellValue("Block_Style") = block
    GoExcel.CurrentCellValue("Block_Part_Number") = iProperties.Value("manifold_block:1", "Project", "Part Number")

    En esta sección se hace referencia al archivo de hoja de cálculo part_number.xls, incluido en este proyecto de aprendizaje. A continuación, se definen los valores de las celdas Block_Type, Block_Style y Block_Part_Number. Los dos primeros valores se establecen a partir de parámetros de ensamblaje; el último valor se establece a partir de la iProperty Número de pieza del bloque.

  3. Cree la siguiente parte de la regla, que escribe en la hoja de cálculo los valores de los tres tamaños de puerto.

    Copie el bloque de código

    GoExcel.CurrentCellValue("port_a_size") = port_a_size
    If block = "tee" Then
    GoExcel.CurrentCellValue("port_b_size") = port_b_size
    Else
    GoExcel.CurrentCellValue("port_b_size") = "N/A"
    End If
    GoExcel.CurrentCellValue("port_c_size") = port_c_size

    Fíjese en que se utiliza un valor de marcador de posición de N/D para un bloque múltiple con estilo de codo.

  4. Añada otra sección a la regla que asigna valores de celda a partir de parámetros almacenados en el componente de bloque múltiple.

    Copie el bloque de código

    GoExcel.CurrentCellValue("block_depth") = Parameter("manifold_block:1", "block_depth")
    GoExcel.CurrentCellValue("block_width") = Parameter("manifold_block:1", "block_width")
    GoExcel.CurrentCellValue("block_height") = Parameter("manifold_block:1", "block_height")

    Fíjese en la referencia al componente manifold_block:1 en esta sección.

  5. Añada una sección a la regla que asigna valores de celda de los números de pieza de las piezas de tornillo y los componentes de unión, según lo calculado por screw_part_number_rule.

    Copie bloque de código

    GoExcel.CurrentCellValue("port_a_union_cap") = port_a_union_part_number
    GoExcel.CurrentCellValue("port_a_screw_kit") = port_a_screw_part_number
    If block = "tee" Then
    GoExcel.CurrentCellValue("port_b_union_cap") = port_b_union_part_number
    GoExcel.CurrentCellValue("port_b_screw_kit") = port_b_screw_part_number
    Else
    GoExcel.CurrentCellValue("port_b_union_cap") = "N/A"
    GoExcel.CurrentCellValue("port_b_screw_kit") = "N/A"
    End If
    GoExcel.CurrentCellValue("port_c_union_cap") = port_c_union_part_number
    GoExcel.CurrentCellValue("port_c_screw_kit") = port_c_screw_part_number

    Al igual que en el caso de port_b_size de una sección anterior de la regla, fíjese en el control condicional de los valores relacionados con Port B.

  6. Al final de esta regla, guarde los cambios realizados en la hoja de cálculo. Utilice la función GoExcel.Save, disponible en el nodo Vínculos de datos de Excel del área Fragmentos.

    Copie el bloque de código

    GoExcel.Save
  7. Pulse Aceptar para guardar y cerrar la regla. La hoja de cálculo se actualiza cuando la regla se ejecuta tras cerrarse. La regla cierra automáticamente la hoja de cálculo después de ejecutarse.
  8. Abra la hoja de cálculo part_number.xls con Excel y compruebe que se haya actualizado. Cierre el documento de hoja de cálculo antes de que la regla se ejecute de nuevo, puesto que la regla no puede actualizar la hoja de cálculo si ya se ha abierto desde Excel.

Anterior | Siguiente