Hirdetés
- Android alkalmazások - szoftver kibeszélő topik
- Google Pixel topik
- Apple Watch
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Amazfit Bip 6 - jót olcsón
- Samsung Galaxy S23 Ultra - non plus ultra
- Yettel topik
- Okosóra és okoskiegészítő topik
- Apple iPhone 16 Pro - rutinvizsga
- Szívós, szép és kitartó az új OnePlus óra
- 
			  Mobilarena A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra. 
 Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
- 
			
			  TheSaint aktív tag válasz  Fferi50
							
							
								#52503
							
							üzenetére Fferi50
							
							
								#52503
							
							üzenetéreEzek stimmelnek. 
 Így néz ki a teljes kód, egy adatbázislekérés van a táblázatban. Még sose futottam bele ilyen megmagyarázhatatlan hibába:Private Sub Workbook_Open()' Adatkapcsolatok frissítéseThisWorkbook.RefreshAll' Azonnal elindítjuk az időzítőt, amely a háttérben futStartTimerEnd SubSub StartTimer()' Időzítő beállítása 15 másodpercreApplication.OnTime Now + TimeValue("00:00:15"), "ThisWorkbook.ProcessAfterDelay"End SubSub ProcessAfterDelay()' Ellenőrizze, hogy a munkafüzet meg van-e nyitvaIf ThisWorkbook.Name = "e.xlsm" Then' Változók deklarálásaDim ws1 As Worksheet ' "Munka1" lapDim ws3 As Worksheet ' "Munka3" lapDim filterRange As RangeDim filterValues() As VariantDim filterValue As VariantDim bodyText As StringDim emailTable As ObjectDim CDO_Mail As ObjectDim CDO_Config As Object' CDO konfiguráció beállításaSet CDO_Mail = CreateObject("CDO.Message")Set CDO_Config = CreateObject("CDO.Configuration")CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.."CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = ""CDO_Config.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""CDO_Config.Fields.UpdateSet CDO_Mail.Configuration = CDO_Config' Munkalapok beállításaSet ws1 = ThisWorkbook.Sheets("Munka1")Set ws3 = ThisWorkbook.Sheets("Munka3")ws1.AutoFilterMode = False' Szűrési tartomány beállítása a "Munka1" lapon (A-M oszlop)Set filterRange = ws1.Range("A3:M" & ws1.Cells(ws1.Rows.Count, "K").End(xlUp).Row)' Kiválasztott nevek definiálásafilterValues = Array("X", "Y")' E-mail címek táblázatának inicializálása a "Munka3" laponSet emailTable = CreateEmailTable(ws3)' Minden egyedi értékhez készítünk egy külön e-mailtFor Each filterValue In filterValues' Szűrés a K oszlop alapján a "Munka1" laponfilterRange.AutoFilter Field:=11, Criteria1:=filterValue' Csak folytatjuk, ha vannak szűrt sorokIf Application.WorksheetFunction.Subtotal(103, filterRange.Columns(1)) > 1 Then' E-mail tartalma összeállításabodyText = "" & filterValue & " m:" & vbCrLf & vbCrLfbodyText = bodyText & "" & vbCrLf & vbCrLf' HTML formátumban konvertált táblázat hozzáadása az üzenethezbodyText = bodyText & RangetoHTML(filterRange.SpecialCells(xlCellTypeVisible))' E-mail cím meghatározása a filterValue alapján a "Munka3" laponDim emailCim As StringemailCim = GetEmailFromTable(emailTable, filterValue)' Csak folytatjuk, ha sikerült e-mail címet meghatározniIf emailCim <> "" Then' E-mail küldése CDO objektummalWith CDO_Mail.Subject = "D".From = "@.hu".To = emailCim.cc = "@.hu".HTMLBody = bodyText ' HTML formátumú tartalom hozzáadása az üzenethez.SendEnd WithEnd IfEnd If' Szűrés törlésews1.AutoFilterMode = FalseNext filterValue' CDO objektumok bezárásaSet CDO_Mail = NothingSet CDO_Config = Nothing' Időzítő újraindítása 1 percreApplication.OnTime Now + TimeValue("00:01:00"), "ThisWorkbook.SaveAndCloseWorkbook"End IfEnd SubSub SaveAndCloseWorkbook()' Táblázat mentése és bezárásaThisWorkbook.SaveThisWorkbook.CloseEnd SubFunction RangetoHTML(rng As Range)' Függvény a táblázat HTML formátumban történő konvertálásáhozDim fso As ObjectDim ts As ObjectDim TempFile As StringDim TempWB As WorkbookTempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"' Táblázat exportálása HTML fájlbarng.CopySet TempWB = Workbooks.Add(1)With TempWB.Sheets(1).Cells(1).PasteSpecial Paste:=8.Cells(1).PasteSpecial xlPasteValues, , False, False.Cells(1).PasteSpecial xlPasteFormats, , False, False.Cells(1).SelectApplication.CutCopyMode = FalseOn Error Resume Next.DrawingObjects.Visible = True.DrawingObjects.DeleteOn Error GoTo 0End With' HTML fájlba mentésWith TempWB.PublishObjects.Add( _SourceType:=xlSourceRange, _Filename:=TempFile, _Sheet:=TempWB.Sheets(1).Name, _Source:=TempWB.Sheets(1).UsedRange.Address, _HtmlType:=xlHtmlStatic).Publish (True)End With' HTML tartalom olvasásaSet fso = CreateObject("Scripting.FileSystemObject")Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)RangetoHTML = ts.ReadAllts.CloseRangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _"align=left x:publishsource=")' Táblázat törlése és ideiglenes munkafüzet bezárásaTempWB.Close SaveChanges:=FalseKill TempFileSet ts = NothingSet fso = NothingSet TempWB = NothingEnd FunctionFunction CreateEmailTable(ws As Worksheet) As Object' E-mail címek táblázatának létrehozása és feltöltéseDim emailTable As ObjectSet emailTable = CreateObject("Scripting.Dictionary")Dim i As LongDim lastRow As LonglastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).RowFor i = 1 To lastRowDim nev As StringDim email As Stringnev = ws.Cells(i, 2).Valueemail = ws.Cells(i, 3).ValueemailTable(nev) = emailNext iSet CreateEmailTable = emailTableEnd FunctionFunction GetEmailFromTable(emailTable As Object, key As Variant) As String' E-mail cím lekérdezése a táblázatból a megadott kulcs alapjánOn Error Resume NextGetEmailFromTable = emailTable(key)On Error GoTo 0End Function
Új hozzászólás Aktív témák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hálózati kábelek és szerelésük
- Amlogic S905, S912 processzoros készülékek
- Linux kezdőknek
- Elektromos autók - motorok
- Windows 10
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen notebookot vegyek?
- Ingatlanos topic!
- BestBuy topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450 R5 5600X 16GB DDR4 1TB SSD RTX 2080 8GB NZXT S340 CHIEFTEC 700W
- BESZÁMÍTÁS! Asus X470 R9 5900X 32GB DDR4 1TB SSD RTX 3070 Ti 8GB Zalman Z1 PLUS A-Data 750W
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
 
						 
								 
							

