Se eu não estiver enganado, deve ter como carregar por programa (macro) “2 colunas” numa combobox, porque em debug encontro na m/ cbxnatur 1.AllItems.First e AllItens.Second. Com uma duzia de linhas s/manutenção, não justifica tabela!
Agora não encontrei um único exemplo de como fazer .
Alguém tem um exemplo de como isso se faz?
Obrigado
Você deseja mesclar/juntar/concatenar a informação de um registro/linha qualquer de 2 ou mais campos/colunas e mostrar isso em um controle de formulário (Caixa de combinação), assim como é feito com consultas em SQL no LibO Base?
É isso?
Sim a ideia é carregar fazer o mesmo que se faz com as consulta SQL; tenho uma coluna
Código (na 1.ª coluna) e
Descritvo (na 2.ª coluna) e depois:
For n = 0 to CbxSelect.ItemCount - 1
s=CbxSelect.AllItems(n).First
If CbxSelect.AllItems(n).Second = CbxSelect.Text Then
iPckd = n
siPckd = CInt ( n )
s= CbxSelect.AllItems(n).First
end if
next n
result = Cint( s ) +/- isto
Certo. Estas colunas estão localizadas onde?
Em Banco de Dados, Planilha do Calc, no próprio writer?
Bom dia, estava a pensar definir um array e carrega-las a partir daí num primeiro ciclo do programa , por exemplo à cabeça da Sub Main um Init()
Ar1(9,1,30,98,70,20,32, 80)
Ar2( Des9,Desc30, Desc98,Desc70…) depois, num cilco
carrega de: Ar1(i) código e de: Ar2(i) descrição monta, as duas colunas da ComboBox.
Atentamente
Acho que estamos com dificuldades de comunicação devido a diferença na língua.
Como dito aqui por você:
.
Repare, o código para alimentar a Caixa de Combinação, usando dois vetores não é difícil.
Já está feito, conforme resposta abaixo.
.
Para encaixar isso no seu arquivo, é necessário que o senhor forneça o arquivo exemplo com os dados que deseja que sejam inseridos na Caixa de Combinação.
.
Sem isso, e sem precisão nas informações, é quase impossível o senhor obter respostas satisfatórias para suas dúvidas, conforme tem ocorrido constantemente. Acaba sendo trabalho dobrado para o senhor, e para as pessoas que tentam auxiliar de alguma maneira.
.
Se o documento que o senhor necessita mexer possui dados confidenciais, basta criar uma cópia com dados fictícios para teste. A partir dele, o senhor pode ir pedindo auxílio, quando e se necessitar.
.
A partir da sua pergunta aqui:
Eu lhe dei uma resposta exemplo aqui:
.
Se não é isso que o senhor deseja, deve indicar na descrição do seu tópico detalhadamente, pelo menos.
.
Seria algo assim ?
Sub AlimentarCbb(oEvent)
Dim oCbb As Object
Dim sVara() As Variant
Dim sOrgao() As Variant
Dim i As Integer
Dim j As Integer
Dim s As String
REM Define os vetores
sVara = Array("1ª Vara", "2ª Vara", "3ª Vara")
sOrgao = Array("TRT 1ª Região", "TRF2")
REM Obtem a Caixa de Combinação
oCbb = oEvent.Source
REM Limpa a Caixa de Combinação
For i = 0 To oCbb.ItemCount
oCbb.removeItems(0, oCbb.ItemCount)
Next
REM Alimenta a Caixa de Combinação
For i = 0 To uBound(sVara() )
For j = 0 To uBound(sOrgao() )
oCbb.addItem(sVara(i) & " - " & sOrgao(j), 0)
Next j
Next i
End Sub
Arquivo:
Ask_AlimentarCbb.odt (19,0,KB)
Obrigado Felipe Alé,
O resultado será esse. Não sei resolver mas haverá certamente uma forma mais apurado de carregar a lista. Repare o seu código em debug:
Felipe Alé via Ask LibreOffice <noreply@ask.libreoffice.org> escreveu no dia quarta, 28/12/2022 à(s) 00:52:
Depois tem uma cena que eu não consigo perceber como é que você carrega o menu melhor a opção de Menu : PreencherCampos
Sub PreencherCampos()
Dim oFrame As Object, oDispatcher As Object
oFrame = ThisComponent.CurrentController.Frame
oDispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)
oDispatcher.executeDispatch(oFrame, “.uno:UpdateInputFields”, “”, 0, Array() )
End Sub
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146
Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.
Mário Reis <mariodosreyx@gmail.com> escreveu no dia quinta, 29/12/2022 à(s) 15:17:
Para tentar entender criei um “Command Button” mas ele não faz o que seria suposto fazer!
Eu não consigo perceber como agregar todo os meus campos a um Frame.
Depois tem aquela cena a informação sobre frames que surge nas pesquisas é em ingles enquanto eu tenho o Libra em Portugues!?
Necessito criar um edit para os campos que em princípio virão sempre de uma tabela, mas sempre vai aparecer um ou outro que não tem na tabela!
E, ai dá jeito, poder editar porque o campos são readonly; não sendo enviado o documento em PDF o destinatário pode alterar e a gente não quer isso, como bem se vê.
Na circunstância o meu oDoc = ThisComponent.Drawpage.Forms.GetByName(“ModeloCartaEnviar”) não funciona sem frame
Consegue ajudar-me por favor. Obrigado
Atentamente
Mário Reis <mariodosreyx@gmail.com> escreveu no dia domingo, 1/01/2023 à(s) 15:35: