I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Forudsat at Navn står i f.eks. celle B1, og at filen skal gemmes det samme sted blot under det nye navn, og at måned angives som et tal fra 1 til 12:
Gem og Luk:
Private Sub cmdGemogLuk() Dim Sti As String, Navn As String Sti = ActiveWorkbook.Path Navn = "Timeregistrering " & Cells(1, 2).Value & Date If Cells(1, 2).Value = "" Then If vbNo = MsgBox("Der er ikke angivet et navn. Vil du gemme filen som " & Navn & "?", vbYesNo) Then MsgBox "Fil ikke gemt" Exit Sub End If End If ActiveWorkbook.SaveAs Filename:=Sti & "\" & Navn MsgBox "Fil gemt som " & Navn & " i mappen " & Sti 'Application.Quit End Sub
Du kan også vælge helt af droppe if-sætningerne - de er blot en ekstra service til brugeren.
Gem og Send:
Det meste fra Gem og Luk går igen (så det kunne jo laves som en seperat procedure). Men du bliver nødt til at kommunikere med outlook - eller hvilket program du nu bruger. Og det er straks værre - og noget jeg vil lade de rigtige eksperter svare på. Har du overvejet om det nu også ER det du vil - starte et emailprogram op, vedhæfte en fil og sende en mail fra en macro der udføres i Excel?
Jeg tror du skal have fat i Dim obj_Outlook As Outlook.Application - og så vil jeg lade de næste 20-50 linier op til de kloge ;o) (Men er med på en lytter)
Prøv lige denne, den virker desværre ikke på alle maskiner.Private Sub cmdGemogSend() Dim Sti As String, Navn As String Sti = ActiveWorkbook.Path Navn = "Timeregistrering " & Cells(1, 2).Value & Date If Cells(1, 2).Value = "" Then If vbNo = MsgBox("Der er ikke angivet et navn. Vil du gemme filen som " & Navn & "?", vbYesNo) Then MsgBox "Fil ikke gemt" Exit Sub End If End If ActiveWorkbook.SaveAs Filename:=Sti & "\" & Navn ************************************** Application.Dialogs(xlDialogSendMail).Show _ arg1:="navn@domaene.dk", _ arg2:="Her er subjektlinien" ****************************** MsgBox "Fil gemt som " & Navn & " i mappen " & Sti 'Application.Quit End Sub
Doh! - word har jo en funktion der hedder "send til > postmodtager". Veg havde noget helt andet i tankerne - noget med at man skulle starte et mail-program osv. osv. Så er det jo ikke så kompliceret endda ;o) /Martin
If mvarAttachment <> "" Then Set objAttachment = objMessage.Attachments.Add objAttachment.ReadFromFile mvarAttachment objAttachment.Name = "File from me" End If
Denne funktion gemmer og sender aktuelt regneark som vedhæftet fil. Uden errorhandler men på noget færre linier kode. Den forudsætter at navnet står i celle p1, men det kan hurtigt ændres. Modtager navnet skal selvfølgelig også ændres:
Sub GemSend()
navn = Range("p1").Value md = Month(Date)
ActiveWorkbook.SaveAs Filename:= _ "C:\bifmedlem\" & "timeregistrering " & navn & " " & md & ".xls", _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWorkbook.SendMail Recipients:="bruger@server.dk", Subject:="Dette er en Prøve" ActiveWindow.Close End Sub
Synes godt om
Ny brugerNybegynder
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.