Pode utilizar a função DDEEnviar para iniciar uma conversação de Intercâmbio Dinâmico de Dados (Intercâmbio dinâmico de dados (DDE): protocolo estabelecido para troca de dados entre programas baseados no Microsoft Windows.) (DDE) com outra aplicação e enviar um item de informações para essa aplicação a partir de um controlo num formulário ou relatório.
Por exemplo, pode utilizar a função DDEEnviar na propriedade OrigemDoControlo de uma caixa de texto para enviar os dados apresentados na mesma para uma célula especificada numa folha de cálculo do Microsoft Office Excel 2007.
Sintaxe
DDEEnviar(aplicação, tópico, item, dados)
A sintaxe da função DDEEnviar tem os seguintes argumentos:
| Argumento |
Descrição |
| aplicação |
Uma expressão de cadeia (expressão de cadeia: expressão que equivale a uma sequência de caracteres contíguos. Os elementos da expressão podem ser: funções que devolvem uma cadeia ou uma Variante de cadeia (VarType 8); uma cadeia literal, uma constante, uma variável ou Variante.) que identifica uma aplicação que possa participar numa conversação DDE. Normalmente, aplicação é o nome de um ficheiro .exe (sem a extensão .exe) para uma aplicação baseada no Microsoft Windows, como o Excel. Por exemplo, para iniciar uma conversação DDE com o Excel, escreva "Excel" no argumento da aplicação. |
| tópico |
Uma expressão de cadeia que consiste no nome de um tópico reconhecido pela aplicação. Geralmente, o argumento tópico consiste num documento ou ficheiro de dados. Consulte a documentação da outra aplicação para obter uma lista de tópicos possíveis. |
| item |
Uma expressão de cadeia que consiste no nome de um item de dados (item de dados: conjunto de dados específico de uma aplicação que pode ser transferido através de um canal DDE (Intercâmbio dinâmico de dados).) reconhecido pela aplicação. Consulte a documentação da outra aplicação para obter uma lista de itens possíveis. |
| dados |
Uma cadeia ou expressão (expressão: combinação de operadores, nomes de campos, funções, literais e constantes avaliada como um único valor. As expressões podem especificar critérios (por exemplo, Valor da Encomenda>10000) ou executar cálculos em valores de campo (por exemplo, Preço*Quantidade).) que contenha os dados a enviar para a aplicação. |
Observações
A função DDEEnviar inicia uma conversação DDE com a aplicação e o tópico, e identifica o item como o item de dados que irá receber dados. Por exemplo, se a aplicação for o Excel, o tópico poderá ser "Sheet1" e o item poderá ser um identificador de linha e coluna, como "R1C1" ou o nome de um intervalo de células.
O argumento dados especifica as informações que pretende enviar. Pode ser uma cadeia literal, por exemplo, "Report prepared by John" ou uma expressão que inclua o resultado de uma função que cria uma cadeia, por exemplo, "Prepared on " & Date(). Se o item se referir a mais do que uma informação, como um intervalo com nome numa folha de cálculo do Excel que contenha várias células, a função DDEEnviar envia os dados para a primeira entrada.
No exemplo seguinte, a função DDEEnviar envia a cadeia "Some text" para a célula na Linha 1, Coluna 1 numa folha de cálculo do Excel. Pode introduzir esta expressão para um controlo caixa de texto na caixa da propriedade OrigemDoControlo na folha de propriedades do controlo:
=DDESend("Excel", "Sheet1", "R1C1", "Some text")
Imagine que pretende enviar dados de um controlo vinculado (controlo dependente: controlo utilizado num formulário, relatório ou página de acesso a dados para apresentar ou modificar dados de uma tabela, consulta ou instrução SQL. A propriedade OrigemDoControlo armazena o nome do campo do qual o controlo está dependente.) num formulário do Microsoft Office Access 2007 para uma célula numa folha de cálculo do Excel. A propriedade OrigemDoControlo do controlo vinculado já contém um nome de campo ou expressão. Pode criar outra caixa de texto ou caixa de combinação e definir a respectiva propriedade OrigemDoControlo com uma expressão que inclua a função DDEEnviar, em que dados consista no nome do controlo vinculado. Por exemplo, se tiver uma caixa de texto vinculada chamada Apelido, poderá criar outra caixa de texto e definir a respectiva propriedade OrigemDoControlo como:
=DDESend("Excel", "Sheet1", "R1C1", [LastName])
Este controlo intermediário tem de ser uma caixa de texto ou uma caixa de combinação. Não é possível utilizar o nome de um controlo vinculado como o argumento dados para uma caixa de verificação ou grupo de opções.
Só é possível utilizar a função DDEEnviar na definição da propriedade OrigemDoControlo de uma caixa de texto, grupo de opções, caixa de verificação ou caixa de combinação num formulário. Não é possível chamar a função DDEEnviar a partir de um módulo do Visual Basic for Applications (VBA).
Quando utilizar a função DDEEnviar, o controlo fica em modo só de leitura na Vista de formulário (vista de Formulário: vista que apresenta um formulário para mostrar ou aceitar dados. A vista de Formulário é o principal meio para adicionar e modificar dados nas tabelas. Também pode alterar a estrutura de um formulário nesta vista.) e na Pré-visualização (pré-visualizar: vista de um documento que mostra qual será o aspecto do documento quando for impresso.). Dado que a propriedade OrigemDoControlo também fica em modo só de leitura na Vista de formulário e na Pré-visualização, as alterações ao controlo têm de ser efectuadas na Vista de estrutura (vista de Estrutura: vista que apresenta a estrutura dos seguintes objectos da base de dados: tabelas, consultas, formulários, relatórios e macros. Na vista de Estrutura, é possível criar novos objectos da base de dados e modificar a estrutura de objectos existentes.).
O Microsoft Windows e a memória e recursos do computador determinam o número máximo de conversações DDE que podem estar abertas em simultâneo. Se não for possível iniciar uma conversação porque a aplicação não está em execução ou não reconhece o tópico nem o número máximo de conversações que já foi atingido, a função DDEEnviar devolve um valor Nulo (Null: valor que pode ser introduzido num campo ou utilizado em expressões ou consultas para indicar dados em falta ou desconhecidos. No Visual Basic, a palavra-chave Null indica um valor nulo (Null). Alguns campos, tais como campos de chave primária, não podem conter um valor Null.).
Nota A outra aplicação poderá ser configurada para ignorar o seu pedido de uma conversação DDE. Neste caso, a função DDEEnviar devolve um valor Nulo. Do mesmo modo, poderá definir o Access para ignorar pedidos de outras aplicações: clique em Opções do Access no menu Ficheiro e clique em Avançadas na caixa de diálogo Definições da Aplicação. Em Operações DDE, seleccione Ignorar pedidos DDE.
Sugestão Se necessitar de manipular objectos de outra aplicação a partir do Access, é aconselhável utilizar a Automatização.
A tabela seguinte ilustra o comportamento da função DDEEnviar quando a utilizar com cada um dos controlos (controlo: objecto de interface gráfica do utilizador como, por exemplo, uma caixa de texto, caixa de verificação, barra de deslocamento ou botão de comando que permite aos utilizadores controlar o programa. Os controlos são utilizados para apresentar dados ou opções, executar uma determinada acção ou facilitar a leitura da interface do utilizador.).
| Controlo |
Observações |
| Caixa de texto ou Caixa de combinação |
Dado que a caixa de texto ou a caixa de combinação é apresentada em branco na Vista de formulário e na Pré-visualização, poderá definir a propriedade Visível como Falso.
O argumento dados pode fazer referência a outro controlo. O exemplo seguinte mostra o modo de envio do conteúdo de um controlo chamado Apelido para uma folha de cálculo do Excel:
=DDESend("Excel", "Sheet1", "R1C1", [LastName])
|
| Grupo de opções |
Nenhum dos botões de opção no grupo de opções é seleccionado na Vista de formulário e na Pré-visualização. Poderá tornar invisível o grupo de opções (e os respectivos botões) definindo a propriedade Visível como Falso.
O argumento dados tem de conter dados numéricos, por exemplo, "2". Se o argumento dados não for numérico, a função DDEEnviar não envia as informações e o item não é alterado.
|
| Caixa de verificação |
A caixa de verificação aparece sombreada na Vista de formulário e na Pré-visualização. Poderá torná-la invisível definindo a respectiva propriedade Visível como Falso.
O argumento dados tem de conter dados numéricos, por exemplo, "2". Se o argumento dados não for numérico, a função DDEEnviar não envia as informações e o item não é alterado.
|