[Excel2000] controle opslaan voor verzenden, onder één knop

Pagina: 1
Acties:

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Ik kom stukje bij beetje verder met mijn Excel bestand/Sjabloon. Ik heb inmiddels al verschillende knopjes met stukjes VBA code weten te produceren, onder ander een knop waarmee ik eerst een "opslaan als" dialoog box openen, waarna vervolgens het bestand verzenden wordt naar een vats opgegeven e-mail adres.

Nu loop ik nog tegen een paar probleempjes aan:

1. Wanneer ik op Annuleren druk in het dialoog box "opslaan als" wordt het bestand als nog verzonden dit is niet de bedoeling het bestand moet eerst opgeslagen worden voordat het verzonden mag worden.

2. Wanneer Outlook niet open staat verschijnt er, op het moment dat het bestand verzonde moet worden, een scherm waarin ik een Exchange profiel moet kiezen. Kan dit ook voorkomen worden?

edit: Oke, ik heb nu het een en ander aan code weten te combineren. Als ik nu op de knop verzenden klik krijg ik eerste een dialoog box met de vraag of het bestand is opgeslagen ja of nee. Kies ik voor ja dan wordt het bestand netjes verzonden naar het opgegeven e-mail adres.

Kies ik voor nee, dan wordt het dialoof venster "opslaan als" geopend, zodat er een naam voor het bestand opgegeven kan worden en de locatie waar het bestand op te slaan. Wanneer ik op opslaan klik wordt wederom de code uitgevoerd om het bestand te verzenden.

Maar nu, wanneer ik in het dialoog venster "opslaan als" op annuleren klik, dan wordt het bestand als nog verzonden onder een verkeerde naam. Dit is niet zo erg, maar het betreft een sjabloon en ik wil niet dat het wordt verzonden als sjabloon.

De code die ik nu heb:

Private Sub CommandButton1_Click()
Dim Msg, Style, Title, Help, Response, MyString
Msg = "Heeft u de bestelling opgeslagen, voor het verzenden?"
Style = vbYesNo + vbQuestion + vbDefaultButton1
Title = "Opslaan voor het verzenden"
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then
file_name = ThisWorkbook.Name
Workbooks(file_name).HasRoutingSlip = True
With Workbooks(file_name).RoutingSlip

.Recipients = ("mail@mailadres.nl")
.Subject = Blad2.Cells(3, 5).Value
.Message = Blad2.Cells(2, 5).Value

End With
Workbooks(file_name).Route
MsgBox ("De bestelling is verstuurd en zal worden verwerkt.")


Else
On Error Resume Next
Application.Dialogs(xlDialogSaveAs).Show
file_name = ThisWorkbook.Name
Workbooks(file_name).HasRoutingSlip = True
With Workbooks(file_name).RoutingSlip

.Recipients = ("mail@mailadres.nl")
.Subject = Blad2.Cells(3, 5).Value
.Message = Blad2.Cells(2, 5).Value

End With
Workbooks(file_name).Route
MsgBox ("De bestelling is verstuurd en zal worden verwerkt.")
End
End If
End Sub

[ Voor 84% gewijzigd door _Dune_ op 03-01-2006 16:00 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:54
Uit de VBA help:
Use Dialogs(index), where index is a built-in constant identifying the dialog box, to return a single Dialog object. The following example runs the built-in Open dialog box (File menu). The Show method returns True if Microsoft Excel successfully opens a file; it returns False if the user cancels the dialog box.

dlgAnswer = Application.Dialogs(xlDialogOpen).Show
Dus, in non-copy-paste code:
code:
1
2
3
4
5
6
7
8
9
10
11
Sub jesub
Dim bewaard as boolean
bla bla
bewaard=Application.Dialogs(xlDialogSaveAs).Show
bla bla
if bewaard then
verstuurblabla
else
msgbox "gaat ns saven stoute usert"
end if
end sub

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
onkl schreef op dinsdag 03 januari 2006 @ 16:35:
Uit de VBA help:

[...]

Dus, in non-copy-paste code:
code:
1
2
3
4
5
6
7
8
9
10
11
Sub jesub
Dim bewaard as boolean
bla bla
bewaard=Application.Dialogs(xlDialogSaveAs).Show
bla bla
if bewaard then
verstuurblabla
else
msgbox "gaat ns saven stoute usert"
end if
end sub
Hartelijk dank _/-\o_

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/