Olá !
Como não sei do seu nível de programação, vou tentar ajudar um pouco:
Crie uma macro no Calc, e insira o código abaixo.

REM  *****  BASIC  *****
REM  *** criado por sp24horas
REM  *** COMO RENOMEAR PLANILHAS A PARTIR DA CELULA a1
Sub Main
Dim Doc, Sheet, oCelula As Object
Dim i as Integer
Dim nome, ano as String
Dim mes(12) As String
Dim Desconto()
Dim Url As String
Dim NovoDoc As Object
Url = "private:factory/scalc"
' NovoDoc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, Desconto())
mes(1) = "JAN"
mes(2) = "FEV"
mes(3) = "MAR"
mes(4) = "ABR"
mes(5) = "MAI"
mes(6) = "JUN"
mes(7) = "JUL"
mes(8) = "AGO"
mes(9) = "SET"
mes(10) = "OUT"
mes(11) = "NOV"
mes(12) = "DEZ"
Doc = ThisComponent
Sheet = Doc.Sheets(0)
' Sheet1 = NovoDoc.Sheets(0)
oCelula = Sheet.GetCellByPosition(0,0)
' comentei : a linha abaixo mostra a data , depois capturo o ano com 4
digitos
' MsgBox CDate(oCelula.value)
ano = Right(CDate(oCelula.value), 4)
for i = 1 to 12
nome = mes(i) & "_" & ano
original = mes(i)
If Doc.Sheets.hasByName(original) Then
   Sheet = Doc.Sheets.getByName(original)
End If
'   Sheet1 = NovoDoc.createInstance("com.sun.star.sheet.Spreadsheet")
   Sheet.Name = nome

'   Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
'   Doc.Sheets.insertByName(nome, Sheet)
' for i = 1 to 12
' nome = mes(i) & "_" & ano
' If NovoDoc.Sheets.hasByName(nome) Then
' Sheet1 = NovoDoc.Sheets.getByName(nome)
' else
' Sheet1 = NovoDoc.createInstance("com.sun.star.sheet.Spreadsheet")
' NovoDoc.Sheets.insertByName(nome, Sheet1)
Next
End Sub

Obs: deixei as linhas comentadas para que você possa ter uma idéia de como
criar uma cópia da planilha original.
Antes que alguém critique "*por entregar o peixe e não ensinar a pescar*",
aponto que :
tive muitas dificuldades para aprender a me virar um pouco com a linguagem
de programação OOBasic; os fóruns com as melhores ideias que encontrei,
foram, na maioria em inglês, alemão e francês.
Imagino que muita gente possa ter a mesma dificuldade que tive e penso que
todo fórum de suporte deva tentar ajudar o usuário de modo gentil (Villeroy
é genial, mas muitas vezes deselegante e sarcástico).
Assim, se os usuários conseguirem alcançar os seus objetivos, (somos
pressionados pelo tempo nas empresas), cada vez mais pessoas irão usar o
produto.
Se elas não conseguirem atingi-los em tempo razoável, serão tentadas, com
razão, a procurarem outros.
O código deve ser estudado para que possa alcançar voos mais altos, mas
já não se parte do zero : -)






Em 28 de novembro de 2011 12:00, Marcio Junior Vieira <
[email protected]> escreveu:

>
>
> Sim é possivel, através de Macros OOBasic
>
> leia estes documentos a
> seguir para conseguir manipular planilhas com OOBasic :
>
>
>
> http://www.ambientelivre.com.br/downloads/doc_details/57-programando-macros-para-openofficeorg--brofficeorg-.html
> [5]
>
>
>
> http://www.ambientelivre.com.br/downloads/doc_details/56-guia-de-programacao-brofficeorg--openofficeorg-basic.html
> [6]
>
> Vai ter que usar estas referência abaixo: no exemplo abaixo é
> inserida uma planilha com o nome PlanilhaN, vai ter que criar uma lógica
> aplicada ao seu problema.
>
> Sheet =
> Doc.createInstance("com.sun.star.sheet.Spreadsheet")
> Doc.Sheets.insertByName("PlanilhaN",
> Sheet)
>
> Grato
>
> Marcio Junior Vieira
> Diretor de Tecnologia
> Ambiente
> Livre Tecnologia - Soluções em Software
> Livre
> http://www.ambientelivre.com.br
> Telefone: +55 41 3308-3438
>
> On
> Mon, 28 Nov 2011 12:59:45 +0000, Ismael Maduro wrote:
>
> > Bom dia,
> pessoal!
> >
> > Como renomear planilha a partir de uma célula?
> > Meu
> arquivo têm os respectivos nomes de meses nas planilhas; JAN, FEV,
> MAR... até DEZ.
> > Na célula A1, tenho uma data: 01/11/2011.
> > Para não
> fazer uma por uma, quando o ano se inicia, gostaria de utilizar as
> mesmas estruturas num outro arquivo a partir de uma cópia, os mesmos
> nomes, exceto o ano corrente; cujo o ano seria advindo da célula A1.
> >
>
> > Exemplo:
> > A planilha JAN, ficaria JAN_11 e assim por diante...
> >
> >
> Existe esse recurso?
> >
> > Ismael - Londrina, PR
> >
> > -- Você está
> recebendo e-mails da lista [email protected] [1] #
> Informações sobre os comandos disponíveis (em inglês): mande e-mail
> vazio para [email protected] [2] # Cancelar sua
> assinatura: mande e-mail vazio para:
> [email protected] [3] # Arquivo de mensagens:
> http://listarchives.libreoffice.org/pt-br/usuarios/ [4]
>
> --
> Marcio
> Junior Vieira
> Diretor de Tecnologia
> Ambiente Livre Tecnologia - Soluções
> em Software Livre
> http://www.ambientelivre.com.br
> Telefone: +55 41
> 3308-3438
>
>
> Links:
> ------
> [1]
> mailto:[email protected]
> [2]
> mailto:[email protected]
> [3]
> mailto:[email protected]
> [4]
> http://listarchives.libreoffice.org/pt-br/usuarios/
> [5]
>
> http://www.ambientelivre.com.br/downloads/doc_details/57-programando-macros-para-openofficeorg--brofficeorg-.html
> [6]
>
> http://www.ambientelivre.com.br/downloads/doc_details/56-guia-de-programacao-brofficeorg--openofficeorg-basic.html
>
> --
> Você está recebendo e-mails da lista [email protected]
> # Informações sobre os comandos disponíveis (em inglês):
>  mande e-mail vazio para [email protected]
> # Cancelar sua assinatura: mande e-mail vazio para:
>  [email protected]
> # Arquivo de mensagens:
> http://listarchives.libreoffice.org/pt-br/usuarios/
>

-- 
Você está recebendo e-mails da lista [email protected]
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para [email protected]
# Cancelar sua assinatura: mande e-mail vazio para:
  [email protected]
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Responder a