ZdrojovΘ k≤dy
Tento k≤d vlo₧φ do nov∞ vytvo°enΘho dokumentu ve Wordu text ze schrßnky (pro ·Φely ukßzky je do schrßnky vlo₧en text "Tento text se vlo₧φ do schrßnky a potom do Wordu"). Tento soubor je potom ulo₧en do ko°enovΘ slo₧ky na disk C pod nßzvem pokus.doc. Aby vßm p°φklad fungoval, musφte do projektu p°idat odkaz na Microsoft Word Object Library.
Dim msWord As Word.Application Dim myDoc As Document Set msWord = New Word.Application msWord.Visible = True Set myDoc = msWord.Documents.Add Clipboard.Clear Clipboard.SetText "Tento text se vlo₧φ do schrßnky a potom do Wordu" myDoc.Words.Item(myDoc.Words.Count).Paste myDoc.SaveAs "C:\pokus.doc" myDoc.Close msWord.Quit Set myDoc = Nothing Set msWord = Nothing ADO dnes u₧ sice nenφ ₧ßdnß novinka, p°esto jej jeÜt∞ spousta lidφ nepou₧φvß. Proto zde budeme obΦas uvßd∞t n∞jak² tip z tohoto okruhu. V p°φkladu jde o to smazat zßznamy z urΦitΘ tabulky pomocφ SQL p°φkazu DELETE.
Dim conn As New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;DataSource="data.mdb" conn.Open conn.Execute "DELETE FROM lide WHERE prijmeni = 'Novßk'" conn.Close Set conn = Nothing Mßte-li na disku soubor s obrßzkem, nap°. GIF, m∙₧ete ho do databßze Access ulo₧it do pole typu Objekt OLE. V k≤du je obrßzek rozd∞len na n∞kolik stejn²ch Φßstφ, kterΘ jsou potom postupn∞ p°idßvßny do pole v tabulce (samoz°ejm∞ je mo₧nΘ ho nerozd∞lovat a p°idat jej cel² narßz, v p°φpad∞ v∞tÜφch obrßzk∙ to vÜak nenφ p°φliÜ vhodnΘ).
Const POLESIZE = 16384 Dim myDB As Database, myRC As Recordset Dim obr As Integer, delka As Long, chunk As Long, frag As Long Dim pole() As Byte, i As Long Set myDB = OpenDatabase("C:\data.mdb") Set myRC = myDB.OpenRecordset("SELECT * FROM zamestnanci", dbOpenDynaset) obr = FreeFile Open "C:\obrazek.gif" For Binary Access Read As #obr delka = LOF(obr) chunk = delka \ POLESIZE frag = delka Mod POLESIZE myRC.AddNew 'nejd°φve vlo₧φme zbytek - Φφslo, kterß zb²vß po d∞lenφ 16384 ReDim pole(frag) Get #obr, , pole() myRC!fotka.AppendChunk pole() 'te∩ ostatnφ ReDim pole(POLESIZE) For i = 1 To chunk Get #obr, , pole() myRC!fotka.AppendChunk pole() Next i myRC.Update Close obr myRC.Close myDB.Close
Nßsledujφcφ k≤d naplnφ rozbalovacφ seznam ComboBoxu (ne DBCombo) daty ze sloupce jmeno, tabulky Autori a databaze C:\data.mdb.
Dim conn As New ADODB.Connection, rst As New ADODB.Recordset conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=C:\data.mdb" conn.Open Combo1.Clear rst.Open "SELECT * FROM autori", conn, adLockReadOnly, adLockOptimistic, adCmdText If rst.RecordCount > 0 Then Do While Not rst.EOF Combo1.AddItem rst("jmeno") rst.MoveNext Loop rst.Close End If conn.Close
Aby vßm fungoval tento k≤d, musφte si v projektu p°idat odkaz na Microsoft Access Object Library.
Dim access As New access.Application access.Visible = True access.OpenCurrentDatabase "C:\data.mdb" 'otev°enφ formulß°e Autori access.DoCmd.OpenForm "Autori", acNormal, , , , acDialog 'tisk reportu Autori access.DoCmd.OpenReport "Autori", acViewNormal
Pokud chcete vytvo°it e-mailovou zprßvu, m∙₧ete tak uΦinit pomocφ API funkce
Dim posta As String posta = "mailto:pavel@seznam.cz" & _ "?subject=jen tak" & _ "&cc=kopie@seznam.cz" & _ "&bcc=skryta@seznam.cz" & _ "&body=Zde je vlastnφ t∞lo zprßvy" ShellExecute Form1.hwnd, "Open", posta, "", "", 1
Pomocφ kolekce
CommandBars("Standard").Visible = False CommandBars("Formatting").Visible = False CommandBars("Drawing").Visible = True
Seznamy jsou jedna z dobr²ch vlastnostφ MS Excelu. NapφÜete-li do bu≥ky n∞jakou polo₧ku seznamu a tßhnete
myÜφ, jsou do ostatnφch bu≥ek p°idßny dalÜφ polo₧ky ze seznamu. Jak si ale vytvo°it vlastnφ seznam z k≤du? Pou₧ijte
metodu
'seznam zadan² p°φmo polo₧kami Application.AddCustomList ListArray:=Array("prvni", "druhß", "t°etφ") 'seznam zadan² obsahem bu≥ek Application.AddCustomList ListArray:=Range("C2:C4")
|