Avatar billede micwar Mester
21. december 2012 - 08:02 Der er 10 kommentarer og
1 løsning

Undersøg om dokumentet er åben inden den gemmer

Hej

Jeg har en UserForm hvor man notere en masse ting. Excel arket er lukket ned med  Application.Visible = False så det kun er UserForm man kan se. Det som bliver noteret bliver gemt i et andet Excel ark som den åbner, sætter ind og lukker ned. Jeg løber ind et problem nogen gange at når dagen er omme og man skal sende det andet ark med post går der kludder i den hvis den er åben, og ikke er lukket ned fra sidst.
ØNSKE: At når man skal sende det andet ark så går Makroen ind og ser om excel arket er åben, hvis den er så skal den måske gemme og lukke ned eller komme med en MsgBox med at den er åben og man skal lukke den ned inden man sender.
Håber det er nok infomation.
Avatar billede supertekst Ekspert
21. december 2012 - 10:11 #1
Prøv at vise VBA-koden..
Avatar billede micwar Mester
21. december 2012 - 11:25 #2
Uha den er meget lang og indviklet. Men her en den funktion der sender, og her problemet kommer når rapport.xlsx er åben:

Sub send_rapport()


    Workbooks.Open "\\ms-files1\Rapportering\rapport.xlsx"
    strFileName = "\\ms-files1\Rapportering\" & Range("R2").Value & Range("A3").Value & Range("S2").Value & Range("T2").Value & Range("U2").Value & ".xlsx"
    ActiveWorkbook.SaveAs Filename:=strFileName

    'ActiveWorkbook.SendMail Recipients:="michael"      'bruget når jeg afprøver systemet
 
    Workbooks.Open "\\ms-files1\Rapportering\rapport.xlsx"
   
    Windows("rapport.xlsx").Activate
    Range("A3:G133").Select
    Selection.ClearContents

    Range("A3").Select
    ActiveWorkbook.Save
    ActiveWorkbook.Close


    MsgBox ("Det var det! Forsat god dag")

End Sub
Avatar billede store-morten Ekspert
21. december 2012 - 18:35 #3
Prøv:
Sub testÅben()

    Dim TestWorkbook As Workbook

    Set TestWorkbook = Nothing
    On Error Resume Next
    '("TestÅben.xlsx")<--- tilrettes
    Set TestWorkbook = Workbooks("TestÅben.xlsx")
    On Error GoTo 0

    If TestWorkbook Is Nothing Then
        MsgBox "Filen er ikke åben!"
    Else
        MsgBox "Filen er åben!" & vbCrLf & _
        "Luk filen, og prøv igen."
    End If
   
End Sub
Avatar billede micwar Mester
21. december 2012 - 22:31 #4
Hej store-Morten.
Min excel fil er på mit arbejde og jeg kommer først derud 2 juledag så du får svar der om det virke. Glæder mig til at prøve den.

God jul
Avatar billede micwar Mester
26. december 2012 - 07:43 #5
Hej Morten
Den virker fint som en ekstra funktion, men jeg prøver at indsætte formlen ind i send funktionen så når man trykker på send knappen skal den i steden for at skrive Filen er ikke åben bare sende rapporten, men er den åben skal den skrive luk filen. Jeg kan få den til at sende unden problemer når dokumentet er lukket, men åbner jeg den og trykker send så kommer msgBox med tekst og derefter lukker den ned, og når jeg så åbner excel igen er begge filer åbne.
Håber det er til at forstå.
Avatar billede store-morten Ekspert
26. december 2012 - 07:58 #6
Erstat:: msgbox "Filen er ikke åben"
Med din "send_rapport" kode.
Avatar billede micwar Mester
26. december 2012 - 08:02 #7
den del virker, det er når filen den skal sende er åben at det går galt, så lukker den excel ned.
Avatar billede store-morten Ekspert
26. december 2012 - 08:21 #8
Koden tjekker om filen der skal sendes er åben?
Er den det, stoppes koden, er den ikke, sendes filen.

Jeg har ikke kikket på din "send" kode?
Denne må jo ikke åbne den fil der skal sendes!
Avatar billede micwar Mester
26. december 2012 - 08:43 #9
Det som har virket fint er at den åbner filen, omdøber den til et nyt navn og sender den til en modtager. Så åbner den filen og renser filen så den er klar til en ny omgang.
Fejlen jeg har oplevet er at hvis filen er åben så kommer den med en Debug. Så derfor skal den undersøge om den er lukke. Hvis den er åben skal den bare skrive det og ikke lukke alt ned.
Avatar billede micwar Mester
26. december 2012 - 12:17 #10
Hej Morten
Det hjælper at lukke alt ned og starte forfra og se på det igen, og nu virker det som jeg ønsker det takke være dit indlæg. send et svar og du får point.
Avatar billede store-morten Ekspert
26. december 2012 - 13:48 #11
Det var dejligt.
Du får et 'Svar'
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester