xlSet
Aplica-se a: Excel 2013 | Office 2013 | Visual Studio
Coloca valores constantes em células ou intervalos muito rapidamente. Para obter mais informações, veja "xlSet and Workbooks with Array Formulas" ("XlSet and Workbooks with Array Formulas") em Known Issues in Excel XLL Development (Problemas Conhecidos no Desenvolvimento XLL do Excel).
Excel12(xlSet, LPXLOPER12 pxRes, 2, LPXLOPER12 pxReference, LPXLOPER pxValue);
Parâmetros
pxReference (xltypeRef ou xltypeSRef)
Uma referência retangular que descreve as células ou células de destino. A referência tem de descrever células adjacentes, para que num xltypeRefval.mref.lpmref->count
tenha de ser definido como 1.
pxValue
O valor ou valores a colocar na célula ou células. Para obter mais informações, consulte a seção "Comentários".
Comentários
argumento pxValue
pxValue pode ser um valor ou uma matriz. Se for um valor, todo o intervalo de destino é preenchido com esse valor. Se for uma matriz (xltypeMulti), os elementos da matriz são colocados nas localizações correspondentes no retângulo.
Se utilizar uma matriz horizontal para o segundo argumento, esta será duplicada para preencher todo o retângulo. Se utilizar uma matriz vertical, esta será duplicada para preencher todo o retângulo. Se utilizar uma matriz retangular e for demasiado pequena para o intervalo retangular em que pretende colocá-la, esse intervalo é acolchoado com #N/S.
Se o intervalo de destino for menor do que a matriz de origem, os valores são copiados até aos limites do intervalo de destino e os dados adicionais são ignorados.
Para limpar um elemento do retângulo de destino, utilize um elemento de matriz de tipo xltypeNil na matriz de origem. Para limpar todo o retângulo de destino, omita o segundo argumento.
Restrições
xlSet não pode ser anulado. Além disso, destrói todas as informações de anulação que possam estar disponíveis anteriormente.
XlSet só pode colocar constantes, não fórmulas, em células.
xlSet comporta-se como uma função equivalente a comandos de Classe 3; ou seja, só está disponível dentro de uma DLL quando a DLL é chamada a partir de um objeto, macro, menu, barra de ferramentas, tecla de atalho ou o botão Executar na caixa de diálogo Macro (acedido a partir do separador Ver no friso a partir do Excel 2007 e do menu Ferramentas em versões anteriores).
Exemplo
O exemplo seguinte preenche B205:B206 com o valor transmitido a partir de uma macro. Este exemplo de função de comando requer um argumento, pelo que só funcionará se for chamado a partir de uma folha de macro XLM ou de um módulo VBA com o método Application.Run .
\SAMPLES\EXAMPLE\EXAMPLE.C
short WINAPI xlSetExample(short int iVal)
{
XLOPER12 xRef, xValue;
xRef.xltype = xltypeSRef;
xRef.val.sref.count = 1;
xRef.val.sref.ref.rwFirst = 204;
xRef.val.sref.ref.rwLast = 205;
xRef.val.sref.ref.colFirst = 1;
xRef.val.sref.ref.colLast = 1;
xValue.xltype = xltypeInt;
xValue.val.w = iVal;
Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue);
return 1;
}