Ir para o conteúdo
André Parreira

incrementar dados no excel

Mensagens Recomendadas

André Parreira    0
André Parreira

Boas

eu  já consegui fazer o programa onde  consigo guardar dados no excel alterar.

mas agora no fim quando fui analisar tudo deu.me 4 erros já quando o programa estava em execução

neste momento apenas vou dizer 1 deles para não massacar muito e porque sei que a outras pessoas com duvidas.

E quando incremento dados no excel por uma text box.

 excel.Range("B" & controlo).Value = txtboxidade.Text

ele incrementa tudo bem, com o código abaixo consigo abrir a folha excel e fechar

 
    Private Sub btver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btver.Click
        btfechar.Visible = True
        btver.Visible = False
        excel.Visible = True
    End Sub

    Private Sub btfechar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btfechar.Click



        Dim sair As Process
        For Each sair In Process.GetProcesses()

            If sair.ProcessName.ToLower() = "excel" Then
                sair.Kill()
            End If
        Next
        btfechar.Visible = False
        btver.Visible = True
    End Sub

Mas depois quando volto a incrementar dados ele da-me este erro.

O servidor de RPC não está disponível. (Excepção de HRESULT: 0x800706BA)

na linha de código

 excel.Range("A" & controlo).Value = txtboxnome.Text

Espero ter sido explicito

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
José Lopes    1
José Lopes

e ainda outra questão..imagina que tas com um excel importante aberto..... nao sei se a melhor solução passa por fazer o kill de todos processos excel.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
André Parreira    0
André Parreira

podia fazer por exemplo

excel.visible=false( assim apenas ele não era visivel)

Como ele guarda sempre, vai guardando a medida que introduzo qualquer informação

Para não ficar com folhas de excel abertas, quando o utilizador quiser sair, logo faz o kill.

É uma boa alternativa??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hellblazer    0
Hellblazer

Exemplo

Private Sub NAR(ByVal o As Object)
    Try
      System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
    Catch
    Finally
      o = Nothing
    End Try
  End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim oApp As New Excel.Application()
    Dim oBooks As Excel.Workbooks = oApp.Workbooks
    Dim oBook As Excel.Workbook = oBooks.Add
    Dim oSheet As Excel.Worksheet = oApp.ActiveSheet

    NAR(oSheet)
    oBook.Close(False)
    NAR(oBook)
    NAR(oBooks)
    oApp.Quit()
    NAR(oApp)

    Debug.WriteLine("Sleeping...")
    System.Threading.Thread.Sleep(5000)
    Debug.WriteLine("End Excel")
End Sub

Retirado de http://support.microsoft.com/default.aspx?scid=KB;EN-US;q317109

Partilhar esta mensagem


Link 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