Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Visual Basic Express in Word

 
 
23.2.2013, 23:48
Pozdrav

Prosim za pomoč pri VB

V Visual basicu sem naredil vnosno masko, na kateri je večje število polj za vnos besedila. Rad bi, da mi ob kliku na gumb prenese to besedilo iz vnosnih polj v točno določeno mesto na wordove predloge dokumentov, potem pa bi mi shranilo te dokumente (v formatu.doc) v mapo na namizju, mapa naj bi se kreirala samodejno, ime mape pa bi pobral iz tekstovnega polja.

Predloge imajo sledeča imena: Zapisnik.dot; Izjava.dot in tako naprej, program naj preimenuje te dokumente v ime in priimek osebe, ki je v vnosnem polju TextBox9.Text. Ime dokumenta bi naj potem izgledalo takole: ime in priimek osebe iz Text.Box9 Zapisnik (Ime Priimek Zapisnik). Program naj naredi vse to v ozadju.

Uporabljam Win7, Visual Basic 2010 Express in MS Office 2003.


changed: NikMan (25.2.2013, 10:29)
 
 
 
23.2.2013, 23:53
Zakaj ustvarjaš program v Visual Basic Express, če pa lahko vse to narediš kar v VBA, ki je v sklopu Office programov? Sicer se da tudi na tvoj način, pa vendar se mi zdi, da bo pot nekoliko daljša in zahtevnejša.
 
 
 
24.2.2013, 0:07
Bil sem prepričan, da bo delo z Visual Basic bolj preprosto. Sedaj pa sem že kar nekaj časa in truda v vnosno masko, a se mi je zataknilo. ne bi pa rad šel vsega delat na novo.
 
 
 
24.2.2013, 0:32
No, saj bo tako tudi šlo.

Najprej je treba urediti Wordovo datoteko, da bo "primerna" za urejanje. Smiselno je, da jo shraniš kot predlogo (torej s končnico .dotx). Odpri sedaj to predlogo in se postavi na mesto, kjer bo kasneje nekaj vpisano. Sedaj v meniju klikni Vstavljanje in Zaznamek ter kot ime zaznamka vpiši neko besedo, ki predstavlja podatek, ki se tukaj vpisuje (npr. ime, datum, naslov ...). To naredi na vseh mestih, kamor bo program vpisoval besedilo. Z ustvarjanjem zaznamkov bo potem program vedel, kam mora vpisati besedilo. Datoteko shrani.

Sedaj v VB.net: najprej je treba v projekt dodati knjižico za Office. Klikni zgoraj v meniju Project/Add Reference, sedaj izberi zavihek COM in poišči Microsoft Word Object Library. Klikni Select.
Pojdi v kodo in čisto na vrhu dodaj vrstico

Imports Word = Microsoft.Office.Interop.Word

Koda, ki bo naredila, kar si zgoraj zapisal, je:

Dim oWord As New Word.Application
Dim oDoc As Word.Document

oWord.Documents.Add("C:\Users\kljuka\Predloga.dotx")
oDoc = oWord.Documents.Item(1)

oDoc.Bookmarks.Item("ime").Range.Text = "zmaga.com"

oDoc.SaveAs("C:\Users\kljuka\Dokument1.docx")
oDoc.Close()

Koda odpre predlogo ("C:\Users\kljuka\Predloga.dotx"), v njej na mestu zaznamka ime napiše besedilo zmaga.com in shrani datoteko kot "C:\Users\kljuka\Dokument1.docx".
To je vsa umetnost. Sedaj samo prilagodi kodo, da bo opravila vse želeno.


 
 
 
24.2.2013, 8:26
Hvala za hitro pomoč!


 
 
 
24.2.2013, 19:24
Program dela vredu. Edino, kar bi še rad popravil je to, da bi za vsako osebo samodejno kreiral mapo, v kateri bi bili vsi Wordovi dokumenti. Ime mape bi vzel iz tekstovnega polja.


lp
 
 
 
24.2.2013, 19:53
Mapa se ustvari z ukazom
My.Computer.FileSystem.CreateDirectory("C:\mapa")

 
 
 
28.2.2013, 21:19
Še malo pomoči in bo zadeva delala.
Predloge mi program lepo popolni in shrani na določeno mesto.
Sedaj pa se pojavi težava in sicer
Ker za vsako stranko ne rabim vseh predlog, bi rad, da bi lahko označil, katere dokumente mi naj shrani in katerih trenutno ne rabim.
Poizkušal sem nekaj z Check.Box-om, a mi ni uspelo.
 
 
 
28.2.2013, 21:49
Na formo dodaj poljubno število CheckBox-ov. Potem pa v kodi preveri, ali so označeni

If Me.CheckBox1.Checked Then
'shrani prvo predlogo
End If
If Me.CheckBox2.Checked Then
'shrani drugo predlogo
End If
...


changed: kljuka (28.2.2013, 21:50)
 
 
 
28.2.2013, 22:43
Hvala

Dela v nulo!!!

Zmaga res zmaga.

lp
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!