O iLogic fornece funções de regra para ler e escrever para documentos da planilha do Excel ® da Microsoft. Para acessar as funções de Vínculo de dados do Excel, expanda o nó Vínculos de dados do Excel na guia Sistema na área de trechos.
Dois tipos de funções de vínculo de dados do Excel estão disponíveis:
Para ler e gravar para outros formatos de arquivo, adicione o código VB.NET personalizado às suas regras.
Utilize a função dedicada ThisBOM.Export para exportar uma montagem da Lista de Material para o Microsoft® Excel e outros formatos.
É possível inserir dados do Microsoft® Excel ou vinculá-lo em um documento do Autodesk Inventor, ou mantê-lo como um arquivo externo. As funções necessitam de um nome do arquivo ou de uma especificação de um arquivo vinculado ou incorporado do Excel.
Para um nome do arquivo, é possível especificar um caminho relativo ou absoluto. No entanto, utilizar caminhos absolutos pode tornar difícil enviar o modelo para outro usuário em um computador diferente. Se um caminho não é especificado, iLogic supõe que o documento do Excel está na mesma pasta que o documento do Inventor atual. Um caminho relativo é interpretado como relativo para a pasta contendo o documento do Inventor.
O iLogic também pesquisa pelo arquivo no projeto caminho de espaço de trabalho. É possível utilizar um caminho relativo no projeto caminho de espaço de trabalho.
As extensões de nome do arquivo suportadas incluem .xls, .xlsx, .xlsm, e .xlsb.
Também é possível especificar uma planilha vinculada ou incorporada ao invés de um nome do arquivo. Utilize a sintaxe 3rd Party:Embedding# para planilhas incorporadas.
Utilize a sintaxe 3rd Party:LinkedName.xls para planilhas vinculadas. Especifique o nome que é exibido na árvore de modelo do Autodesk Inventor, em Terceira pessoa.
Se utilizar uma tabela incorporada, incorpore-a utilizando Vínculo na caixa de diálogo Parâmetros. Não altere o nome de tabela incorporada do nome padrão dado a ela pelo Autodesk Inventor (por exemplo, Incorporando 1). GoExcel exige o nome original.
Para vincular um arquivo, clique na
guia Gerenciar
painel Inserir
Inserir objeto
ou utilize a opção vínculo na caixa de diálogo Parâmetros.
Pesquisa por uma linha com base em um ou mais critério de valor de coluna.
Sintaxe
GoExcel.FindRow( "nomedearquivo", "nomedefolha", "título da primeira coluna", "operador", valor para procurar, "título da segunda coluna", "operador", valor para procurar, "título da terceira coluna",... )
"nomedearquivo"
Especifica o arquivo de dados.
"nomedefolha"
A folha no documento do Excel contendo a tabela a ser pesquisada. A chapa pode ser qualquer chapa existente.
"título da primeira coluna"
O título da primeira coluna na tabela a ser pesquisada. Os títulos de coluna geralmente são inseridos na linha 1, começando na coluna A.
"operador"
Valores possíveis incluem:
Encontre uma linha com um valor na coluna que é menor ou igual ao valor especificado.
Encontre uma linha com um valor de coluna maior ou igual ao valor especificado.
Encontre uma linha com um valor de coluna numérico ou de texto igual ao valor especificado.
valor para procurar
Um valor de coluna numérico ou de texto que pode ser especificado com um valor explícito, um parâmetro ou uma variável local.
"título da segunda coluna"
O título da segunda coluna na tabela a ser pesquisada.
"operador"
<= , >= , ou =
valor para procurar
"título da terceira coluna"
Encontre uma linha com base em vários critérios.
Retorna
O número de linha (um inteiro) que corresponde ao critério de pesquisa. O valor é -1 se uma linha correspondente não é encontrada.
Possíveis erros
Requerimentos da tabela do Excel
Exemplos
Esses exemplos definem o valor da variável de parâmetro i para o número da linha na tabela. Dia é igual a 0.2 e Len é maior que ou igual a 4.1. O primeiro exemplo faz referência a uma planilha externa e o segundo exemplo faz referência a uma planilha incorporada.
i = GoExcel.FindRow("mytable.xls", "Sheet1", "Dia", "=", 0.2, "len", ">=",4.1)
i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "Dia", "=", 0.2, "len",">=", 4.1)
Nestes exemplos, as linhas 5, 6, e 7 correspondem a primeira condição onde Dia=.2. Entretanto, somente a linha 7 corresponde aos dois critérios onde Dia=.2 e len>=4.1.
Lê um valor da linha encontrada utilizando a função GoExcel.FindRow.
Sintaxe
GoExcel.CurrentRowValue("nome da coluna" )
"nome da coluna"
O nome de título da coluna para o valor da célula para recuperar da linha atual.
Retorna
O valor da célula da coluna da linha atual, encontrada anteriormente com a função GoExcel.FindRow.
Erros
Retorna uma mensagem de erro se a coluna não for encontrada.
Exemplo
i = GoExcel.FindRow("iLogic_SCHS.xls", "Sheet1", "thread_diameter", "=", Screw_Size, "screw-length", ">=", screw_length_required) thread_diameter = GoExcel.CurrentRowValue("thread_diameter") screw_length = GoExcel.CurrentRowValue("screw_length") head_diameter = GoExcel.CurrentRowValue("head_diameter") head_thickness = GoExcel.CurrentRowValue("head_thickness") socket_size = GoExcel.CurrentRowValue("socket_size") thread_pitch = GoExcel.CurrentRowValue("thread_pitch")
Lê ou grava valores para células de planilha.
Sintaxe
GoExcel.CellValue("nomedearquivo", "nomedafolha", "númerodacélula" )
"nomedearquivo"
Veja Especificar o arquivo do Excel
"nomedafolha"
Nome da chapa no documento do Excel que contém a célula alvo. A chapa pode ser qualquer chapa existente.
"númerodacélula"
Endereço de célula para ler ou gravar para (como "A7" ). Também é possível especificar um intervalo nomeado no âmbito da planilha.
Retorna
Erros
Requerimentos do formato da tabela do Excel
Os valores de célula podem ser numéricos ou de texto.
Exemplos
Ler uma planilha embutida:
head_rad = GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1","A1")
Gravar para uma planilha embutida:
GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1", "A1")= head_rad
Ler uma planilha externa:
head_rad = GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "A5") message =GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "B5")
Gravar para uma planilha externa:
GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A6") = "Hello World" GoExcel.Save
Lê a partir do ou grava para um endereço de célula específica em uma planilha subsequente ao uso da função GoExcel.CellValue ou a função GoExcel.Open. Esta função utiliza o arquivo e a folha abertos anteriormente.
Sintaxe
GoExcel.CurrentCellValue("númerodacélula")
GoExcel.CellValue("númerodacélula") (sem especificar um nome do arquivo e nome da chapa )
"númerodacélula"
Endereço de célula ou intervalo nomeado do valor da célula para ler a partir da ou gravar para a planilha atual.
Retorna
O valor da célula do número da célula especificada.
Erros
Exemplos
Leia uma série de células de uma planilha única:
head_rad = GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1") head_thick = GoExcel.CellValue("B1") pin_length = GoExcel.CellValue("C1") shaft_rad = GoExcel.CellValue("D1")
Grave para uma série de células em um documento de planilha:
GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1") = head_rad GoExcel.CellValue("B1") = head_thick GoExcel.CellValue("C1") = pin_length GoExcel.CellValue("D1") = shaft_rad GoExcel.Save
Funciona como a função CellValue. Ao invés de um endereço de célula, especifique um intervalo de nome definido na pasta de trabalho do Excel. O nome deve ser um nome de dentro da pasta de trabalho, e o intervalo deve estar confinado a uma única célula. É possível acessar intervalos nomeados da planilha ampliada utilizando a sintaxe CellValue padrão, utilizando o nome ao invés de um endereço de célula.
Utilize GoExcel.CellValue ou GoExcel.Open para abrir o arquivo do Excel antes de utilizar NamedRangeValue em uma regra.
Sintaxe
GoExcel.NamedRangeValue("ComprimentodoPino" )
Abre a planilha especificada do Excel e opcionalmente ativa uma planilha nomeada. É possível então utilizar funções como GoExcel.FindRow e GoExcel.CellValue para extrair informações da ou modificar a planilha.
Sintaxe
GoExcel.Open("nomedearquivo", "nomedefolha” )
"nomedearquivo"
Veja Especificar o arquivo do Excel
"nomedefolha”
Nome da chapa no documento do Excel para ativar. A chapa pode ser qualquer chapa existente.
Retorna
N/A
Erros
Arquivo do Excel não localizado.
Exemplos
Quando não está especificado nome da chapa, "Chapa1" é suposto.
GoExcel.Open("Spreadsheet.xls")
Uma planilha diferente também pode ser especificada.
GoExcel.Open("Spreadsheet.xls", "MyOtherSheet")
Salva o documento do Excel atual. Utilize esta função se modificou células com as funções GoExcel.CellValue ou GoExcel.CurrentCellValue.
Retorna
N/A
Erros
N/A
Exemplo
GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A1") = "Hello, World!" GoExcel.CellValue("A2") = 5.42 GoExcel.Save
Esta função serve a dois propósitos:
Ler em uma planilha do Excel
É possível ler a partir de um intervalo de células orientado verticalmente. A função lê valores começando na primeira célula e continua para baixo até que a segunda célula especificada na função seja alcançada.
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "A10")
Se uma sequência vazia ("") substitui o endereço da segunda célula, comece a ler no endereço da primeira célula e continue para baixo até que uma célula vazia seja encontrada.
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "")
É possível ler a partir de um intervalo de células orientado horizontalmente.
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1")
Se a planilha foi referenciada anteriormente na regra, também é possível omitir o nome do arquivo e nome da chapa:
Multivalue.List("parameter") = GoExcel.CellValues("B2", "G2")
Gravar como uma planilha do Excel
É possível gravar valores para um intervalo de células orientado verticalmente. A função grava valores começando na primeira célula e continua para baixo, gravando valores até que a segunda célula especificada na função seja alcançada.
GoExcel.CellValues("filename.xls", "Sheet1", "A2", "A10") = Multivalue.List("parameter")
É possível gravar valores para um intervalo de células orientado verticalmente. Se uma sequência vazia ("") substitui o endereço da segunda célula, o iLogic utiliza tantas células quantas forem necessárias para conter todos os membros da lista de multi valores:
GoExcel.CellValues("filename.xls", "Sheet1", "A2", "") = Multivalue.List("parameter")
É possível gravar valores para um intervalo de células orientado horizontalmente.
GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1") = Multivalue.List("parameter")
Se a planilha foi referenciada anteriormente na regra, também é possível omitir o nome do arquivo e nome da chapa:
GoExcel.CellValues("B2", "G2") = Multivalue.List("parameter")
Fecha a planilha do Excel atual.
Utilizado antes de GoExcel.FindRow para especificar o número da linha na planilha que contém os nomes de coluna. O número de linha padrão é 1. Altere este valor se tiver linhas extras acima da sua linha de nome da coluna.
Exemplo
GoExcel.TitleRow = 2
Utilizado antes da função GoExcel.FindRow para especificar o número da primeira linha na planilha que contém os dados. O número padrão da linha é 2.
Sintaxe
GoExcel.FindRowStart = <linha>
<linha>
A linha em que os dados se iniciam.
Exemplos
O valor padrão de 2 indica que os dados iniciam na linha 2 e segue uma linha de título:
GoExcel.FindRowStart = 2
Se tiver duas linhas de título, adicione a seguinte declaração à regra antes do argumento contendo GoExcel.FindRow:
GoExcel.FindRowStart = 3
Fornece acesso das regras do iLogic para a operação Alterar origem.
Esta função substitui uma planilha do Excel que atualmente está conduzindo o modelo com outra planilha. Os valores contidos na nova planilha, então, conduzem as cotas do modelo.
Sintaxe
changeOK = GoExcel.ChangeSourceOfLinked(nomeAntigoParcial, novoNome )
nomeAntigoParcial
Porção do nome da planilha para substituir.
nomeAntigoParcial pode ser uma sequência vazia "" para corresponder ao primeiro arquivo do Excel vinculado. Muitas vezes, uma peça ou montagem tem apenas um arquivo do Excel.
novoNome
O nome da nova planilha inteira, que pode ser um nome do arquivo absoluto ou relativo.
Exemplo
If size = "small" Then changeOK = GoExcel.ChangeSourceOfLinked("pipe"," smallpipe.xlsx") ElseIf size = "medium" Then changeOK = GoExcel.ChangeSourceOfLinked("pipe", "mediumpipe.xlsx") ElseIf size = "large" Then changeOK = GoExcel.ChangeSourceOfLinked("pipe", "largepipe.xlsx") End If
Utilizado com a função GoExcel.FindRow para pesquisar por um valor em um intervalo ao invés de um valor exato. A tolerância padrão é 0,0000001 e não é dependente de unidades de documento.
Sintaxe
GoExcel.Tolerance = <tolerância>
Defina uma tolerância maior para expandir o intervalo de valores aceitáveis.
Exemplo
A declaração é utilizada para pesquisar da seguinte forma:
GoExcel.Tolerance = 0.001 i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", "=", 2.3)
A declaração se torna equivalente a seguinte pesquisa sem tolerância:
i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", ">=", 2.299, "length","<=", 2.301)
Previne a exibição de caixas de diálogo de prompts do Excel.
Sintaxe
GoExcel.DisplayAlerts = Verdadeiro
GoExcel.DisplayAlerts = False
Verdadeiro
Exibir os prompts do Microsoft® Excel (padrão).
Falso
Não exibir os prompts do Excel.
Acessa o objeto de aplicação do Excel. Utilize esta função somente se tiver experiência com a interface do COM do Excel. Antes de utilizar esta função em uma regra, chame outra função do GoExcel para inicializar o aplicativo.
Sintaxe
excelApp = GoExcel.Application