[ vojvoda1010 @ 17.12.2015. 11:24 ] @
u prethodnim postovima sam bio pitao da li moze da se ubacvi sadrzaj sa neta konkretno sa ove adrese ( http://www.hidmet.gov.rs/ciril/osmotreni/index.php ), I sad mislio sam da sam refresuje to sam video da moze ali mi I dalje nije jasno:
1. sam setings za taj web pre snimanja sta moze da se uradi,
2. I ako je moguce napraviti macro da snima te aktuelne podatke ili namestiti da snima ispod ubacenih na svakih sat vremena ili da ubaci na sheet .
Znaci meni je potrebno snimanje podataka na sat ali da ostanu u excelu.
[ vojvoda1010 @ 24.12.2015. 23:10 ] @
Sub websitee()


With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.epexspot.com/en/market-data/intraday", Destination:=Range( _
"$A$1"))
.Name = "intraday"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
Union(Columns(3), Columns(4), Columns(5), Columns(7), Columns(8), Columns(9)).Delete

End With

End Sub



da li bi ovo moglo da se iskoristi
[ vojvoda1010 @ 24.12.2015. 23:59 ] @
Sub Macro1()
Dim strURL As String

For i = 1 To 250
strURL = Sheets("Sheet1").Cells(i, 1)
With ActiveSheet.QueryTables.Add(Connection:="URL;" & strURL, _
Destination:=Range("b1"))
.Name = strURL
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next i

End Sub


ili ovaj sam nasao u arhivi foruma ali ocigledno treba izmena,neke smernice
[ vojvoda1010 @ 25.12.2015. 15:35 ] @
.Refresh BackgroundQuery:=True 'should come AFTER all property settings


run time error 1004
sta je ovde problem
[ vojvoda1010 @ 26.12.2015. 13:56 ] @
Mozda pitanje nisam dobrp postavio kako preko macroa da se snime podaci sa web koji se nalaze u rasponu od A1 do C41 iz sheeta1 u sheet2 i prilikom svakog automatskog rifresovanja da sacuva u sheeta2 u novi red ispod prethodnog snimljenog itd pri svakom novom snimanju da snimi u novi prazan red kad se rifreauje?
[ Jpeca @ 28.12.2015. 14:31 ] @
Ako ti upit koji si napravio odgovara, onda možeš da iskoristiš događaj Query BeforeRefresh da iskopiraš podatke pre osvežavanja na drugi list. Ovde imaš detaljna upustava o tome https://support.microsoft.com/en-us/kb/213187

1/ Dodati Class modul i proceduru šta treba da se obavi pre update. U tvom slučaju kod je dosta jednostavan - samo se kopira oblast A1:C41 ispod prethodne
Code:

Option Explicit
Public WithEvents qt As QueryTable
Private Sub qt_BeforeRefresh(Cancel As Boolean)
   Dim shDest As Worksheet
   Dim rwDest As Long
   
   ' List na koji kopiramo
   Set shDest = ThisWorkbook.Sheets("Sheet2")
   ' Red u koji se kopira, sa +2 ostavljamo jedan prazan red između prethodnog
   rwDest = shDest.Range("A65535").End(xlUp).Row + 2
   '
   qt.Destination.Worksheet.Range("A1:C41").Copy
   shDest.Paste Destination:=shDest.Cells(rwDest, 1)
   Application.CutCopyMode = False
End Sub

2/ Postaviti u AutoOpen događaj radne sveke inicijalizaciju ovog događaja
[ vojvoda1010 @ 30.12.2015. 20:30 ] @
To je to. Mnogo hvala.
da li bi moglo zbog kolicine osvezavanja kada popuni sheet2 da snimi na sheet3,4,5 itd i ako moze gde i sta treba dodati? HVALA
[ vojvoda1010 @ 31.12.2015. 17:20 ] @
malo problema imam oko ove adrese http://www.hidmet.gov.rs/ciril/prognoza/stanica.php?mp_id=13274 jel u macro samo opseg da zamenim?
[ Jpeca @ 06.01.2016. 15:59 ] @
Nisi naveo kako se manifestuje problem.

Opseg koji kopiraš naravno menjaš u skladu sa stranicom. Ostalo bi trebalo da je OK

Meni nije jasna svrha kopiranja kompletnih stranica u Excel. Ako treba da radiš neke analize, umesto prostog kopiranja trebalo bi povučeš samo podatke koje ti trebaju sa stranice i popunjavaš neku pogodnu tabelu.
[ vojvoda1010 @ 06.01.2016. 17:42 ] @
"Ako treba da radiš neke analize, umesto prostog kopiranja trebalo bi povučeš samo podatke koje ti trebaju sa stranice i popunjavaš neku pogodnu tabelu."

Treba mi podaci koji se kopiraju A1:C41 iz sheet2. Kako bi se povukli podaci i u koju tabelu? Mislio sam zbog ucestalog rifresovanja na svakih sat vremena da se nastavlja sa kopiranjem u sheet3,sheet4 itd.
I da li moze kopiranje da se radi u standby racunara ili mora da je "aktivan"?
[ vojvoda1010 @ 06.01.2016. 17:48 ] @
Promenio sam okvir kopiranja ali nece da kopira.
[ Jpeca @ 08.01.2016. 09:20 ] @
Kad pokreniem ručno Refresh, meni kopiranje radi kako je napisano u kodu:
Code:
 qt.Destination.Worksheet.Range("C9:G15").Copy 

Dakle kopira opseg C9:G15, počevši od reda 87 na stranici Sheet2, mada nisam siguran da je to što ti treba.

U radnoj svesci koju si postavio, automatsko osveženje upita u regularnim intervalima nije uključeno (Data tab, Connections grupa, Connection Properties -> Refresh every ...)

Takođe, da bi sve funkcionisalo, makroi moraju da ti budu omogućeni za radnu svesku (npr. da je na trusted lokaciji) - jer se početno pokretanje vrši u događaju otvaranja radne sveske.


Što se tiče standby režima, najlakše je da postaviš automatsko osvežavanje pa probaš. Čisto sumnjam da će to da ga "probudi" iz sleep moda i verovatno je potrebno da napraviš scheduled task koji će buditi računar i odraditi refresh.
[ vojvoda1010 @ 08.01.2016. 17:18 ] @
Uspelo je, verovatno sto nisam opet pokrenuo.
Imam jos par pitanja:
scheduled task, gde se nalazi ova opcija pretpostavljam u operativnom sistemu ili treba program,
da li moze da se uradi da snima na ostale sheetove kad se popuni sheet2?