Como preencher um Excel usando o NX.
SolutionA função que permite o preenchimento de regiões dentro do arquivo Excel é: ug_excel_write_range. Ela permite que dados sejam preenchidos em um grupo de células de um arquivo carregado previamente pelo NX, além disso, para que alterações sejam salvas, o arquivo excel deve ser salvo e fechado. Para abrir o arquivo é necessário usar a função ug_excel_open_file para abrir o arquivo, e a função ug_excel_close_file para fechar e salvar o arquivo. Cada uma destas funções deve ficar em uma expressão própria. as sintaxes das funções estão abaixo:
ug_excel_open_file("<caminho e nome do arquivo>", <Acesso>)
O Acesso pode ser:
ug_excel_write_range(<arquivo>,{<Sheet>,<linha inicial>,<coluna inicial>,<linha final>,<coluna final>,<Valor1>,...,<ValorX>})
ug_excel_close_file(<arquivo>,<Modo>)
Um detalhe, o comando de fechamento (ug_excel_close_file) pode ser executado como parte de um if, ou seja, só será salvo se o arquivo for alterado.
Um ponto importante: Para que o NX possa alterar a planilha, ela não pode estar aberta por ninguém. Além disso, para que o NX acesse qualquer arquivo externo, deve-se usar o comando Update for External Change.
Nosso objetivo será preencher 2 tabelas: Uma mostrando a altura e a largura e outra mostrando a altura e profundidade.
Estas tabelas ficarão cada uma em uma planilha de um arquivo Excel. Este arquivo Excel (.xlsx) será armazenado no disco D:\, o nome será teste.xlsx, ficando D:\Teste.xlsx.
Todos os passos a seguir serão executados no comando Expression (aba Tools, comando Expression)
Primeiro criaremos a expressão Arquivo com direito escrita, ela deve ser do tipo INTEGER
Arquivo=ug_excel_open_file("D:\Teste.xlsx", Write)
Em seguida criaremos a expressão que preencherá a tabela da primeira imagem. Seu nome será Preenchimento1, ela será do tipo BOOLEAN e terá os seguintes parâmetros:
Ela ficará assim: Prenchimento1=ug_excel_write_range(Arquivo , { 1,2,2,3,2,Altura,Largura} )
A expressão da segunda tabela terá os parâmetros abaixo:
Esta ficará assim: Prenchimento2=ug_excel_write_range(Arquivo , { 2,2,2,3,2,Altura,Profundidade} )
E finalmente criaremos a expressão que fechará e salvará o arquivo. Isso só será feito se o arquivo tiver sido alterado, então será incluído dentro de um IF que só executará a função ug_excel_close_file se ambas as expressões Prenchimento1 e Prenchimento2 tiverem o valor TRUE. O nome desta expressão será Fechamento e ela será do tipo BOOLEAN.
Fechamento=If ( Preenchimento1&Preenchimento2 )Then ( ug_excel_close_file(Arquivo,true))Else ( false )
Uma vez que as expressões tenham sido criadas, ou as dimensões da peça tenham sido alteradas, deve-se executar o comando Update for External Change.
Em Seguida, clique em OK e salve o arquivo.
Seguem dois arquivos de exemplo.
Arquivo.prt (120 KB)