11. april 2008 - 10:53Der er
36 kommentarer og 1 løsning
Mail vedhæftet fil fra excel
Jeg har lavet denne lille makro, som jeg bruger til, at sende en file (det er ikke regnearket, der skal sendes, men derimod en anden file fx. c:\temp\test.csv.
Hvordan får jeg skrevet det ind i min lille makro ? Jeg har ledt og ledt, men ikke fundet løsningen.
Sub prp() ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ "mailto:perpe@mail.dk?subject=Test" Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub
Sorry - det har jeg nu gjort (Jeg er ikke nogen ørn til VBa, men håber at blive det).
Jeg har fulgt beskrivelsen, men får stadig fejl.
Den kode som jeg forsøger, at fyre af er:
Sub Send_Files() 'Working in 2000-2007 Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim sh As Worksheet Dim cell As Range, FileCell As Range, rng As Range
With Application .EnableEvents = False .ScreenUpdating = False End With
Set sh = Sheets("ark1")
Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon
For Each cell In sh.Columns("B").Cells.SpecialCells(xlCellTypeConstants)
'Enter the file names in the C:Z column in each row Set rng = sh.Cells(cell.Row, 1).Range("C1:Z1")
If cell.Value Like "?*@?*.?*" And _ Application.WorksheetFunction.CountA(rng) > 0 Then Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail .To = cell.Value .Subject = "Testfile" .Body = "Hi " & cell.Offset(0, -1).Value For Each FileCell In rng.SpecialCells(xlCellTypeConstants) If Trim(FileCell) <> "" Then If Dir(FileCell.Value) <> "" Then .Attachments.Add FileCell.Value End If End If Next FileCell .Send 'Or use Display End With
Set OutMail = Nothing End If Next cell
Set OutApp = Nothing
With Application .EnableEvents = True .ScreenUpdating = True End With End Sub
Ved Set OutApp = CreateObject("Outlook.Application") kommer fejlen: Runtime error 429, ActiveX can´t create object.
Synes godt om
Slettet bruger
14. april 2008 - 11:32#5
nu har du vel outlook fra officepakken installeret ?
Jeg skal bruge tegnet ascii+31, som separator i en flad file. Når jeg ser det på skærmen, så ser det rigtigt ud, men når jeg ta´r filen ind i en editor så er separatoren ?-tegnet.
Har du en lille stum kode, som jeg eventuelt kunne bruge ?
Synes godt om
Slettet bruger
14. april 2008 - 15:54#25
desvære :-/ og jeg er ude af døren om 10 minuter, men hvis du ikke selv har løst det i morgen kan jeg kikke på det
ok du får lige en hurtig en, men du må selv bakse med det hvis vi antager at du gemmer filen med FileFormat:=xlCSV så læser vi den ind igen og erstater alle kommaer med ascii 31
Sub ConvertFile(filespec) Dim fs, sString Set fs = CreateObject("Scripting.FileSystemObject") Set sString = fs.GetFile(filespec) sString = Replace(sString, Chr(44), Chr(31)) fs.SaveFile(filespec) End Sub
med følgende kode får jeg fejl, når den når til fs.savefile
Sub ConvertFile() Dim fs, sString Set fs = CreateObject("Scripting.FileSystemObject") Set sString = fs.GetFile("C:\temp\tegn31.tx") sString = Replace(sString, Chr(44), Chr(31)) fs.SaveFile ("C:\temp\tegn31.txt") End Sub
Synes godt om
Slettet bruger
15. april 2008 - 10:41#29
klart ;-) jeg har givet dig et vbScript eksempel, forkert! du får lige en VBA
jeg tror også vi køre en linje ad gangen, så nu ser det lidt anderledes ud
Sub ConvertFile() fInput = FreeFile() fOutput = FreeFile() Open "C:\temp\tegn31.txt" For input As fInput Open "C:\temp\2tegn31.txt" For output As foutput While Not EOF(fInput) Line Input #fInput, sString sString = Replace(sString, Chr(44), Chr(31)) Line Output #fOutput, sString Wend Close fInput Close fOutput End Sub
yes - nu er den lige ved, at være der, nu har jeg kun det problem, at hver record starter og slutter med anførselstegn " - det skal de ikke, har du en løsning ?
Synes godt om
Slettet bruger
15. april 2008 - 12:43#35
dem kan du også filtrere fra ved sString = Replace(sString, Chr(34), "")
ja, men der er jo i outputfilen, at de er ! Er det fordi den gennemes som string ?
Synes godt om
Slettet bruger
15. april 2008 - 13:04#37
det lyder for underligt, de må også være i inputfilen, det er meget normalt med "" i en komasepareret fil og det er ikke pga String, men du skulle kunne fjerne dem med: sString = Replace(sString, Chr(34), "")
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.