bom galera no ultimo tutorial eu ia colocar isso mais ja passava das 2:00am entao vou fazer esse separado, para começar criamos uma macro como o tutorial anterior
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
agora criamos nossa funçao fora do escopo do sub main, uma função deve ter a palavra function seguido do nome que pode ser qualquer um, e o escopo termina com end function
salvamos e pronto a função ta pronta embora ela nao faça nada por enquanto, para executa ela basta fazer como o tutorial anterior so escolhendo a nossa função ou usar a aba de funçoes do libreoffice para usar ela basta aperta na celular que voce quer manipular depois digitar na aba de funçoes ou na propria celula (tem que colocar o simbolo de igual seguido do nome da funçao no caso aqui é =ftsfuncao() )
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para a gente retornar um valor da nossa função para uma celula basta atribuir um valor para ela dentro do escopo (isso deve ser sempre no final devido a funçao ser finalizada quando acha o retorno)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
no exemplo anterior qualquer lugar que eu usar a minha funçao vai virar o valor 315, agora vamos passar argumento para ela deixando essa bagaça mais dinamica *-* , para isso temos que criar variaveis para receber os argumentos para criar basta coloca elas entre parenteses depois do nome da função (no caso criei uma variavel com o nome valor e depois atribuir essa variavel ao retorno assim retornando o numero que vou passar)
la na aba de funçoes ou na celula basta passar o argumento que vamos passar para a nossa função
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos qualquer coisa antes do retorno, nesse exemplo so vou dividir o valor por 2 e depois retornar o resultado (lembrando que o basic da pra fazer muita coisa alem de contas aritimeticas, existem funçoes muito legais e as que nao existe voce pode criar ^^ )
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para passar mais de um argumento na função separamos por virgula, mais na aba de funçoes separamos por ponto e virgula (lembrando tem que ter a mesma quantidade de argumentos nas funçoes e de valor passado)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
ate agora so usamos tipo inteiro porem é possivel qualquer tipo de dados ate string ou tipo booleano entre outros
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem é possivel passar como argumento valor que esta em uma celula bastando digita o codigo dela, um exemplo seria o A1 (o legal de fazer isso que basta mudar um dos valores das celulas que a função atualiza automaticamente)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
agora para fazer o basic acessar uma celula sem passar o valor por argumento é um pouco mais complicado, para fazer isso temos que fazer pelo menos 3 passos que seria instanciar o objeto ThisComponent
depois de instaciar temos acessar o sheet pelo objeto que no caso o sheet é o Sheet1 (o valor começa no 0 entao Sheet1 = 0)
agora usamos o GetCellByPosition passamos como argumento para ele as duas posição que tambem começa no 0 (A1 = 0,0), e por fim usamos o atributo string para pegar o valor (podemos atribuir para ele tambem assim de vez pegar o valor ele atribui nele)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera é isso ^^
by kõdo no kami
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
agora criamos nossa funçao fora do escopo do sub main, uma função deve ter a palavra function seguido do nome que pode ser qualquer um, e o escopo termina com end function
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao
End Function
salvamos e pronto a função ta pronta embora ela nao faça nada por enquanto, para executa ela basta fazer como o tutorial anterior so escolhendo a nossa função ou usar a aba de funçoes do libreoffice para usar ela basta aperta na celular que voce quer manipular depois digitar na aba de funçoes ou na propria celula (tem que colocar o simbolo de igual seguido do nome da funçao no caso aqui é =ftsfuncao() )
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para a gente retornar um valor da nossa função para uma celula basta atribuir um valor para ela dentro do escopo (isso deve ser sempre no final devido a funçao ser finalizada quando acha o retorno)
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao
ftsfuncao = 315
End Function
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
no exemplo anterior qualquer lugar que eu usar a minha funçao vai virar o valor 315, agora vamos passar argumento para ela deixando essa bagaça mais dinamica *-* , para isso temos que criar variaveis para receber os argumentos para criar basta coloca elas entre parenteses depois do nome da função (no caso criei uma variavel com o nome valor e depois atribuir essa variavel ao retorno assim retornando o numero que vou passar)
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao(valor)
ftsfuncao = valor
End Function
la na aba de funçoes ou na celula basta passar o argumento que vamos passar para a nossa função
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos qualquer coisa antes do retorno, nesse exemplo so vou dividir o valor por 2 e depois retornar o resultado (lembrando que o basic da pra fazer muita coisa alem de contas aritimeticas, existem funçoes muito legais e as que nao existe voce pode criar ^^ )
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao(valor)
total = valor / 2
ftsfuncao = total
End Function
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para passar mais de um argumento na função separamos por virgula, mais na aba de funçoes separamos por ponto e virgula (lembrando tem que ter a mesma quantidade de argumentos nas funçoes e de valor passado)
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao(valor,valor2)
total = valor + valor2
ftsfuncao = total
End Function
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
ate agora so usamos tipo inteiro porem é possivel qualquer tipo de dados ate string ou tipo booleano entre outros
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao(nome)
texto = "seu nome é " & nome
ftsfuncao = texto
End Function
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem é possivel passar como argumento valor que esta em uma celula bastando digita o codigo dela, um exemplo seria o A1 (o legal de fazer isso que basta mudar um dos valores das celulas que a função atualiza automaticamente)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
agora para fazer o basic acessar uma celula sem passar o valor por argumento é um pouco mais complicado, para fazer isso temos que fazer pelo menos 3 passos que seria instanciar o objeto ThisComponent
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao
objeto = ThisComponent
End Function
depois de instaciar temos acessar o sheet pelo objeto que no caso o sheet é o Sheet1 (o valor começa no 0 entao Sheet1 = 0)
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao
objeto = ThisComponent
acessosheet = objeto.Sheets(0)
End Function
agora usamos o GetCellByPosition passamos como argumento para ele as duas posição que tambem começa no 0 (A1 = 0,0), e por fim usamos o atributo string para pegar o valor (podemos atribuir para ele tambem assim de vez pegar o valor ele atribui nele)
- Código:
REM ***** BASIC *****
Sub Main
End Sub
Function ftsfuncao
objeto = ThisComponent
acessosheet = objeto.Sheets(0)
valor = acessosheet.GetCellByPosition(0,0).string
ftsfuncao = valor
End Function
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera é isso ^^
by kõdo no kami