Referência de funções de vínculos de dados do Excel no iLogic

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.

Especificar o arquivo do Excel

É 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.

Nota: Não inclua um espaço depois do caractere : na sintaxe 3rd Party:Name.

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.

GoExcel.FindRow

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:

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.

GoExcel.CurrentRowValue

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")

GoExcel.CellValue

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
Nota: Requer GoExcel.Save para salvar alterações para a planilha:

GoExcel.CurrentCellValue, GoExcel.CellValue

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

GoExcel.NameRangeValue

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" )

GoExcel.Open

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")

GoExcel.Save

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

GoExcel.CellValues

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")

GoExcel.Close

Fecha a planilha do Excel atual.

GoExcel.TitleRow

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

GoExcel.FindRowStart

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

GoExcel.ChangeSourceOfLinked

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.

Nota: Esta função também está disponível como uma operação manual do menu de contexto nas planilhas do Excel vinculadas.

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

GoExcel.Tolerance

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)

GoExcel.DisplayAlerts

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.

GoExcel.Application

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