Nyní máme nastaveny všechny hodnoty parametrů nutných k vytvoření modelu a čísel součástí. Poslední pravidlo, které zapíšeme, převede čísla součástí a hodnoty dalších parametrů sdružených s tímto souborem do tabulkového pro cesoru aplikace Excel. Některá z těchto čísel součástí jsou v iSoučástech a toto pravidlo vytvořilo číslo šroubové součásti.
Pravidlo update_excel_spreadsheet_rule využívá sadu funkcí, které jsou dostupné v kategorii Datová spojení aplikace Excel v části Fragmenty dialogu Upravit pravidlo.
Toto pravidlo vyplňuje příslušné buňky v závislosti na stavu modelu. V tabulkovém pro cesoru byly všechny buňky, do kterých jsou přenášena data, pojmenovány tak, aby odpovídaly zapisovaným datům.
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")
V této části odkazujeme na soubor tabulkového pro cesoru part_number.xls zahrnutý s projektem tohoto výukového programu. Později budou nastaveny hodnoty pro buňky Block_Type Block_Style a Block_Part_Number. První dvě hodnoty jsou nastaveny z parametrů sestavy a poslední hodnota je nastavena z iVlastnosti bloku Číslo součásti .
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
Rozloženému bloku se stylem „koleno“ byla přiřazena náhradní hodnota N/A.
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")
Poznámka: V této části byl použit odkaz na komponentu manifold_block:1.
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
Stejně jako v případě položky port_b_size v předchozí části pravidla zůstává v platnosti podmínečné zpracování hodnot souvisejících s portem Port B.
GoExcel.Save