Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

j_r_m_c

obter os ultimos dois digitos do ano

Mensagens Recomendadas

j_r_m_c

olá

necessito alterar este código (o que está a bold) de forma a obter os ultimos dois digitos do ano actual, da forma que está dá-me o ano "2010", e eu pretendo obter só "10"

como posso fazer ??

Isto é de um programa de gerar numeros sequenciais de relatórios

CI_D_2.Hide

    Retorno = 1

    If CI_D_2.n_rel = "" Then

        CI_D_2.Show

    End If

    If Mid(CI_D_2.n_rel, 1, 4) <> cod_rel + Trim(Str(Year(Now()))) Then

        botao = MsgBox("Só pode alterar os ultimos 3 dígitos", , "RELATÓRIOS DE INSPECÇÃO")

        CI_D_2.n_rel = Trim(cod_rel) + Trim(Str(numero + 1))

        CI_D_2.Show

    End If

End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

mas é para formar um código

por isso tem o

cod_rel + trim(str(year(now()))) a função format consegue substituir ??

Já tentaste ?

If Mid(CI_D_2.n_rel, 1, 4) <> cod_rel + Format(Date, "yy") Then

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
j_r_m_c

;)

larguei foguetes antes da festa

com as alterações que fiz, ele já não gera uma sequencia de numeros.

normalmente ele funciona assim.

cada vez que ele cria um relatório ele regista numa folha .lst alguns dados entre os quais o nº, quando abro outro ele atribui o numero seguinte pq foi verificar o ultimo.

'Macro autoopen para relatorios de inspecção Relatorios (RI.DOT)

Public fich$, caminho, ser, numero, Retorno, cod_rel, data_ano, n_ass, n_eq, relpar, jaaberto As String

Dim proc, texto$, unidade$, qunid$

Dim unidadD__

Dim lista$()

'**************************************************************************************

Public Sub MAIN()

On Error GoTo ver_erro

ReDim cod_servico_(0), servico_(0), cod_rel_(0), data_ano(0), n_rel(0), n_unid(0), n_assunto(0), n_data(0), n_equip(0)

'Dim a_lista(0, 0, 0, 0, 0)

Dim ha, l_rel

Dim num, n

Dim D

Dim numrel$

Dim d_$

Dim em$

Dim E$

Dim encontra

Dim botao

Dim nl_

Dim x

Dim ml$

Dim ano$

Dim data_i As Date

        ijanela$ = UCase$(WordBasic.[windowname$](i))

        If UCase(Right(ijanela$, 6)) = "(COPY)" Then

            aaa = MsgBox("Aplicação a ser usada por outro utilizador", vbOKOnly, "RELATÓRIOS")

            Application.Quit

        End If

proc = 0

texto$ = ""

fich$ = ""

unidade$ = ""

qunid$ = ""

caminho = ActiveDocument.Path

ser = UCase$(ActiveDocument.Name)

data_ano = Format(Date, "yy")

cod_rel = "EI"

inicio:

    fich$ = Dir(caminho + "\" + cod_rel + data_ano + ".lst")

    'If Mid(fich$, 2, 4) <> data_ano Then fich$ = ""

    If fich$ = "" Then

        numero = cod_rel + data_ano + "0000"

    Else

        Open caminho + "\" + fich$ For Input As #1

        Do While Not EOF(1)

            Input #1, numero, data, un, equip, Assunto, nota, ordem

        Loop

        Close #1

    End If

    numero = Mid(numero, 5, 4)

    qjanela$ = ser

    ha = WordBasic.Val(janela(qjanela$))

    If ha > WordBasic.CountWindows() Then GoTo Fim

    CommandBars("Standard").Visible = False

    CommandBars("Formatting").Visible = False

    CommandBars("Drawing").Visible = False

    'CommandBars("PDFMaker 4.0").Visible = False

    Selection.EndKey unit:=wdStory

    ActiveWindow.WindowState = wdWindowStateMaximize

    ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit

    relpar = ""

    CI_D_2.n_rel = Trim(cod_rel) + Trim(data_ano) + Trim(Str(numero + 1))

    CI_D_2.data = Mid(Now(), 1, 8)

    CI_D_2.servico = servico$

    CI_D_2.Label18 = servico$

    CI_D_2.Show

    If Retorno = 12 Then GoTo abre_rel

    If Retorno = 2 Then GoTo ver_lista            'lista relatórios

    If Retorno = 1 Then GoTo novo_rel            'novo relatório

    If Retorno = 22 Then GoTo inicio

    If Retorno = 3 Then

        CommandBars("Standard").Visible = True

        CommandBars("Formatting").Visible = True

        WordBasic.fileexit

    End If

    Stop

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
j_r_m_c

já resolvi..obrigado pela ajuda  :P

a macro cria uma lista em excel tipo .lst e os vários campos que eu preencho aparecem todos escritos na mesma célula

exemplo célula A1:

Numero sequencial gerado pelo programa;Nome; Idade; Nacionalidade

desta forma não posso ligar os filtros do excel

por isso gostaria que :

Numero sequencial do relatório A1

Nome A2

Idade A3

Nacionalidade A4

desta forma poderia trabalhar informação gerada

alguém me dá umas dicas?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.