Criar botão de "copiar"

OI! Eu de novo! :smile:

Preciso criar um botão que ao apertar, ele copie o texto que esta na célula. Creio que ser feito na partir do "Controles de Formulário - botão de pressão. Mas tem tantas opções que eu não sei qual devo colocar. Obrigada! :smiley:

É necessário uma macro para ligar no botão.

Propriedades / Eventos / Executar ação…

Sub CopyCelAtiva
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController _
.Frame, ".uno:Copy", "", 0, Array())
End Sub

Ja criei a macro e já inseri:

Sub CopyCelAtiva
CreateUnoService(“com.sun.star.frame.DispatchHelper”) _
.executeDispatch(ThisComponent.CurrentController _
.Frame, “.uno:Copy”, “”, 0, Array())
End Sub

Porem não sei onde coloco o nome da planilha e a celula que vai ser copiada! :roll_eyes:

Entendi que queria copiar a célula ativa!!!

Não é isso, de mais detalhes, do que quer fazer,


'------- Pegar String Onde
Sub GetStringWhere ( oSheet$, oCel$ )
	'PARA USAR O VALOR oString, DECLARAR NO INICIO DO MODULO
	'Global oString As String
	oString = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).String
End Sub 


'------- Pegar Valor Onde
Sub GetValueWhere ( oSheet$, oCel$ )
	'PARA USAR O VALOR oValue, DECLARAR NO INICIO DO MODULO
	'Global oValue As String
	oValue = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).Value
End Sub 

'------- Pegar Formula Onde
Sub GetFormulaWhere ( oSheet$, oCel$ )
	'PARA USAR O VALOR oFormula, DECLARAR NO INICIO DO MODULO
	'Global oFormula As String
	oFormula = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).Formula	
End Sub 

Na vdd quero apenas copiar, para não ter que selecionar todo o texto com o mouse usando apenas o botão de pressão. As informações copiadas serão coladas fora da planilha. :grimacing:

Estando a célula com o texto ativa, execute a macro.

Bom dia!

Gravei uma macro. Porem não foi como eu gostaria. Em vez de copiar o texto da célula foi copiado o botão de pressão:

Macro:

sub Copiacola
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = “ToPoint”
args1(0).Value = “$J$50”

dispatcher.executeDispatch(document, “.uno:GoToCell”, “”, 0, args1())

Funcionou! As células estavam protegidas, por isso copiava errado! Obrigada! :joy: :joy: :joy:

1 Like