Sta zelish da postignesh time shake? Sta ce ti word u accessu?
Ovaj VB cod samo pravi instancu i otvara fajl.
Ima li neko da je raspoložen samo da napravi jedan dokument u Wordu, makar jedna riječ, i da to onda očita u Accessu, iz neke najjednostavnije forme, da vidim kako funkcioniše.
Imam ovaj kod preko ShellExecute API-ja:
Ali ja veze namam što s ovim da radim... Izvor: EliteSecurity.Code:Private Declare Function apiShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) _ As Long Public Const WIN_NORMAL = 1 Public Const WIN_MAX = 3 Public Const WIN_MIN = 2 Private Const ERROR_SUCCESS = 32& Private Const ERROR_NO_ASSOC = 31& Private Const ERROR_OUT_OF_MEM = 0& Private Const ERROR_FILE_NOT_FOUND = 2& Private Const ERROR_PATH_NOT_FOUND = 3& Private Const ERROR_BAD_FORMAT = 11& Function fHandleFile(stFile As String, lShowHow As Long) Dim lRet As Long, varTaskID As Variant Dim stRet As String 'First try ShellExecute lRet = apiShellExecute(hWndAccessApp, vbNullString, _ stFile, vbNullString, vbNullString, lShowHow) If lRet > ERROR_SUCCESS Then stRet = vbNullString lRet = -1 Else Select Case lRet Case ERROR_NO_ASSOC: 'Try the OpenWith dialog varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _ & stFile, WIN_NORMAL) lRet = (varTaskID <> 0) Case ERROR_OUT_OF_MEM: stRet = "Error: Out of Memory/Resources. Couldn't Execute!" Case ERROR_FILE_NOT_FOUND: stRet = "Error: File not found. Couldn't Execute!" Case ERROR_PATH_NOT_FOUND: stRet = "Error: Path not found. Couldn't Execute!" Case ERROR_BAD_FORMAT: stRet = "Error: Bad File Format. Couldn't Execute!" Case Else: End Select End If fHandleFile = lRet & _ IIf(stRet = "", vbNullString, ", " & stRet) End Function
Takođe imam i ovaj VBA kod:
Ali mi nešto ne radi ni sa njime ...Code:Private Sub Command1_Click() Dim LWordDoc As String Dim oApp As Object 'Path to the word document LWordDoc = "c:\Doc1.doc" If Dir(LWordDoc) = "" Then MsgBox "Document not found." Else 'Create an instance of MS Word Set oApp = CreateObject(Class:="Word.Application") oApp.Visible = True 'Open the Document oApp.Documents.Open filename:=LWordDoc End If End Sub
Ako neko zna bila bih mu VRLO ZAHVALNA kad bi pojasnio, uradio. E-mail: [email protected] .
Zahvaljujem!
P.S. Slabo znam Access, tako da mi stručna pojašnjenja ne mogu mnogo pomoći. Jedino da vidim na primjeru.
Always smiling :-)
Sta zelish da postignesh time shake? Sta ce ti word u accessu?
Ovaj VB cod samo pravi instancu i otvara fajl.
Ako si mislila na ovo:
http://www.databasedev.co.uk/open_word_doc.html
Ovo omogucava da linkujesh word fajlove sa unosima u access bazi.
Last edited by Ego_and_his_own; 12-12-06 at 21:00.
Sto rece covjek. Ovaj kod samo pravi instancu na doc fajl. i otvara ga u wordu a ne na formi koju si uradila. ako to oces tu vec treba poznavanje OLE procedura u prste, i sto kazu ljudi to znaju dva covjeka i oba rade u microsoft.
Ako samo oces da otvoris word, pogledaj ovaj kod, probao sam i radi.
http://www.databasedev.co.uk/open_word_doc.html
Evo u C# kako da procitash word dokument i ubacish u string varijablu:
Prije ovoga morash dodati referencu ka COM word biblioteci.Code:private void Form1_Load(object sender, System.EventArgs e) { Word.Application app = new Word.ApplicationClass(); // kreira instancu object nullobj = System.Reflection.Missing.Value; // definisanje null objekta object file = @"C:\Suneetha\Ques.doc"; // naziv word fajla Word.Document doc = app.Documents.Open( ref file, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj); // otvara word dokument doc.ActiveWindow.Selection.WholeStory(); // selektuje se citav tekst doc.ActiveWindow.Selection.Copy(); // kopira se u klipbord IDataObject data = Clipboard.GetDataObject(); // instanca kliborda string text = data.GetData(DataFormats.Text).ToString(); // kopira se string u string varijablu Console.WriteLine(text); // ispisuje vrijednost varijable u konzoli doc.Close(ref nullobj, ref nullobj, ref nullobj); // zatvara dokument app.Quit(ref nullobj, ref nullobj, ref nullobj); // iskljucuje se aplikacija }
Ovdje se koristi trik kopiranja preko klipboarda, sto moze posluziti samo za neke jednostavnije operacije.
Ako je u pitanju konverzija i kopiranje word podataka u access bazu, u c# mozesh napraviti tu konverziju u obliku aplikacije.
Last edited by Ego_and_his_own; 12-12-06 at 21:28.
Ok, zahvaljujem na linku. Izvinjavam se što nijesam precizirala što mi treba, ali smo se razumjeli. One sam kodove postovala jer su me "stručnjaci" na njih uputili, te sam i postovala jer mi veze s mozgom nije imalo :-).
Always smiling :-)
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks