Omlouvám se - já osobně rád vyhovím každému, ale jen z plezíru - to ne. Na to já čas nemám. Snad někdo jiný.
]]>Já ty stránky ukladam na disk a pak si makro načte stránku z disku.
Přímo bez manažeru.
V Excel 2013 to chodilo.
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;file:///D:/zal_moje-zw81/Vysl_TIPSPORTU/18.9.2014/Výsledky%20_%20Tipsport.%20Nejvetší%20komunita%20sázkaru.htm" _
, Destination:=Range("$A$1"))
.Name = "Výsledky%20_%20Tipsport.%20Nejvetší%20komunita%20sázkaru_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """tblEventsId"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Ale v LibreOffice 4.4.2.2. to nechce chodit.
Potřebuji poradit jak to upravit do libre
Předem děkuji Franta
.uno:file:\\\C:\Web\Vysl_mix_tipsportu.htm
Vy zřejmě chcete aktualizovat Calc z webu. To se ale dělá jinak. Dáte vložit odkaz na externí data - dáte tam adresu - například https://www.tipsport.cz/kurzy.
Nyní musíte stisknout ENTER. (Mělo by tam být tlačítko, ale není - proto jste zřejmě zvolil otevřít z disku. Nabídka tam je)
Následně vyskočí volba jazyka a speciálních čísel. Předvolená je čeština. Dáte OK a za chvilku vyskočí obsah stránky podle prvků. Těch je tam hodně. nejspíš bychom zvolili "Table", ale doporučuji nejdřív vše (All) - potvrdit volbu.
Do sešitu se nám vloží obsahy, které jsou podivně rozházeny a nejsou v češtině. To je trošku problém. Kódování stránky je v UTF8 - cs a to do sešitu nedostaneme. Ovšem rozložení ač divné, je logické a dá se s tím pracovat.
Existuje pracnější postup. Zkopírovat celou stránku a do Calcu ji vložit jako HTML. Nyní už je čeština česká, ale buňky rozhozené nelogicky. je nutno vybrat vše, stisknout "sloučit buňky" - tím se veškeré sloučení odstraní a pak manuálně smazat nepotřebné buňky tak aby nabídky (a podobně) byly logicky pod sebou.
Nejlepší postup : Nejprve stránku uložit z browswru do toho Vašeho foldru "WEB". V Calcu zadat vložit odkaz na externí data - dáte tam adresu z místního disku C:/WEB (nebo tak jak si to uložíte). Vyskočí dialogy řeč - potvrdíte a vyberete Table. Dostanete jak logické uspořádání, tak češtinu.
Problém znakové sady odstraní OS. problémem zůstane aktualizace dat. Musíte vždy znovu stáhnout celou stránku z netu, ale to je rychlé a snadnější, nežli ostatní metody. Po otevření Calcu se odkazy aktualizují automaticky, nebo to zadáte v nabídce Üpravy - odkazy. Tam doporučuji vše mimo Table ručně smazat (chvíli to potrvá, ale vyplatí se to). Pak můžete zvolit tlačítkem UPRAVIT načítání a podobně.
Existují sice ještě další možnosti, ale problém je v tom, že ne vždy je webovka ve formátu HTML (HTTP), nebo HTML security (HTTPs) - ale ve formátu php a podobně. Z toho lze načítat prakticky jenom tak jak uvádím. Co se dá uložit se načte - co nejde načíst můžete jen manuálně zkopírovat, nebo preparovat ze zdrojáku stránky.
Teprve na to je možné postavit makro. To ale nemá cenu protože máte aktivní odkazy, které se načtou při otevření (nebo podle nastavní například po minitě ap.) Šlo by sice udělat makro aby se to našetlo z netu a uložilo, ale měl byste plno kravin, které nejsou potřeba. Při prvním vložení se to manuálne promaže a je navždy klid.
Problém vznikne, když portál změní strukturu stránky - pak je to nutné upravit. To se ale děje zřídka. Když se stím naučíte pracovat, tak Vám to půjde rychle. Neexistuje univerzální postup pro všechny typy webových stránek.
Potřebuji poradit jak dostat html stránku do calcu.
Něco jsem stvořil ale nic to nedělá.
Sub import_html
dim vyber, bunka, document, dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
REM This is an array from 0 To 0 of type PropertyValue
Dim args1(0) As New com.sun.star.beans.PropertyValue
Dim sURL As String 'URL of the document to load
sURL = "file:\\\C:\Web\Vysl_mix_tipsportu.htm/Fotball.ods/uprava_tpsp"
args1(0).Name = "HTML_Tables"
args1(0).Value = True
dispatcher.executeDispatch(document, ".uno:file:\\\C:\Web\Vysl_mix_tipsportu.htm", "", 0, Array())
'StarDesktop.LoadComponentFromUrl(sURL, "file:\\\C:\Web\", 0, args1())
End Sub
Předem moc a moc děkuji Franta
vyřešeno!!!!!!!!!!
Sub nabidka_tpsp
dim url As String
Dim oDoc, oSelection As Object
Dim oAddress As new com.sun.star.table.CellAddress
'Call nastavoblast_proImport
oDoc = ThisComponent
oSelection = oDoc.getCurrentController().getSelection()
if oSelection.supportsService("com.sun.star.sheet.SheetCell") then
oAddress = oSelection.getCellAddress()
oDoc.AreaLinks.insertAtPosition(oAddress,"file:///C:/Web/Nab_1_mix_tipsportu.htm","HTML_Tables","calc_HTML_WebQuery","0 0")
endif
End Sub
vyřešeno!!!!!!!!!!
]]>