freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Visual studio 2010: Αντιγραφή δεδομένων από φόρμα σε word


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » dot Net και Visual Studio
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [5 Μηνύματα]      Bookmarks Tags: δεδομένωνΑντιγραφήwordstudio2010 Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
tidotido


Μέλος από: 18 Μαη 2011
Μηνύματα: 1

View users profile
ΜήνυμαΣτις: 19 Ιουν 2011 20:14    Θέμα: Visual studio 2010: Αντιγραφή δεδομένων από φόρμα σε word Απάντηση με παράθεση  Mark this post and the followings unread

Γιά σας.
Mετά από πολύ αναζήτηση στο Google δεν κατάφερα να βρώ λύση στο παρακάτω θέμα.

Στο Visual Studio 2010 φτιάχνω μια φόρμα (σε VB) με τρία πεδία. 1. Όνομα 2. Πόλη 3. Ηλικία.



Επίσης, φτιάχνω ένα κουμπί, το "Print Document".

Προσπαθώ ανεπιτυχώς να φτιάξω μια macro ώστε το κουμπί να ανοίγει ένα καθορισμένο έγγραφο, στο παράδειγμα το "test.doc", όπου σε καθορισμένες θέσεις (με bookmark) να αντιγράφει τα πεδία της φόρμας στο έγγραφο.



Δοκίμασα διάφορες macro της VB αλλά κολάνε. Μία macro με τις δυνατότητες που αναζητώ είναι η παρακάτω:

κώδικας:
Private Sub cmdPrint_Click()
'Print customer slip for current customer.
Dim appWord As Word.Application
Dim doc As Word.Document
'Avoid error 429, when Word isn't open.
On Error Resume Next
Err.Clear
'Set appWord object variable to running instance of Word.
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
'If Word isn't open, create a new instance of Word.
Set appWord = New Word.Application
End If
Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , True)
With doc
.FormFields("fldCustomerID").Result = Me!CustomerID
.FormFields("fldCompanyName").Result = Me!CompanyName
.FormFields("fldContactName").Result = Me!ContactName
.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
End Sub


Όμως κολλά σε διάφορα σημεία όταν κάνω δοκιμή μέσα στο Visual Studio 2010. Ένα πρόβλημα π.χ. είναι αυτό:



Με λίγα λόγια δεν αναγνωρίζει πολλές εντολές.
Δοκίμασα να κάνω add reference στο project και τα MS Office Object Library και Word Object Library ( ή καπως έτσι) αλλά τίποτα. Αναγνωρίζει μεν το "Word.Application", το "Word.Document" και το doc = appWord.Documents.Open".
Με τα παραπάνω καταφέρνω να ανοίξω το "test.doc" αλλά δεν κάνει καμία ενέργεια copy/paste.

Δοκίμασα πολλές αλλαγές στο ".FormFields("fldCustomerID").Result = Me!CustomerID" αλλά τίποτα. Αντικαθιστώ το ".FormFields" με ".bookmark" ή ".Bookmarks", τίποτα. Κι αν τα καταφέρω και δεχτεί το ".bookmark" δεν δέχεται το ".Result" ή το " Me!......".

Έχω καθίσει πολλές ώρες αλλάζοντας επιμέρους τον κώδικα χωρίς αποτέλεσμα. Γι αυτό παρακαλώ, λίγη βοήθεια να ξεκολλήσω από αυτό το βασανιστικό πρόβλημα.
epipitis


Μέλος από: 23 Μαρ 2010
Μηνύματα: 30
Περιοχή: Crete
View users profile
ΜήνυμαΣτις: 19 Μαη 2012 17:49    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Kalispera tidotido ,
telika to kataferes to project???me endiaferei gt to idio peripou thelw na kanw kai gw kai se rwtaw an mporeis na me voithiseis ....
euxaristw polu
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 19 Μαη 2012 20:25    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Θα πρέπει στο project να έχεις προσθέσει reference στις βιβλιοθήκες του office, αλλιώς δεν γνωρίζει τι είναι το Word.Application object, ούτε τι μεθόδους έχει.

Στο VS2008 το κάνεις με δεξί κλικ πάνω στο project και Add Reference, μετά ψάχνεις να βρεις τη βιβλιοθήκη που χρειάζεσαι. Φαντάζομαι θα είναι η Microsoft.Office.Interop.Word.dll
Ρίξε μια ματιά στο msdn.microsoft.com/en-US/library/15s06t57
tsibos22


Μέλος από: 22 Νοε 2010
Μηνύματα: 8

View users profile
ΜήνυμαΣτις: 05 Ιουλ 2012 23:19    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Καλησπέρα φίλε μου, πήγαινε project->"project name" properties->references ->add->browse και μετά πας εκεί που είναι αποθηκευμένα τα office και βρες αρχεία με τη κατάληξη .dll
έτσι θα βάλεις τη βιβλιοθήκη του word ή όποιαδήποτε βιβλιοθήκη θες. τώρα για κώδικα

dim objWord as new word.application
'δημιουργείς ένα αντικείμενο για word
objword.visible=true
'το κάνεις ορατό δηλαδή θα ανοίξει το word
obword.Documents.add()
επιλέγεις το αρχείο που θα ανοίξει να είναι καινούριο. μπορείς να ανοίξεις και ένα αρχείο που υπάρχει.
objword.selection.typetext("γράφω στο word")
'έτσι γράφεις
με μία γρήγορη αναζήτηση βρίκα αυτό:
http://www.dreamincode.net/forums/topic/60975-office-automation/
γκούγκλαρε μερικές από τις παραπάνω εντολές και γράψε δίπλα tutorial και θα σου βγάλει διάφορα παραδείγματα
lks


Μέλος από: 05 Νοε 2013
Μηνύματα: 1

View users profile
ΜήνυμαΣτις: 05 Νοε 2013 14:57    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Εγώ βρήκα αυτό
δουλεύει αλλά δεν μου γράφει Ελληνικά




Imports System.IO
Imports System
Imports System.Xml
Imports iTextSharp.xmp
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.xml
Imports System.Security
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing.Text
Imports System.Text
Imports System. Windows link to Windows.Forms



Public Class Form1

Dim oldFile As String = "d:/Existing.pdf"
Dim newFile As String = "d:/New.pdf"
' create documentation object
Dim pdfDocument As Document = New Document()
' add age page to PDF document

' Create reader
Dim reader As New PdfReader(oldFile)
Dim filesize As Rectangle = reader.GetPageSizeWithRotation(1)
Dim document As New Document(filesize)

' Create the writer
Dim fs As New FileStream(newFile, FileMode.Create, FileAccess.Write)
Dim writer As PdfWriter = PdfWriter.GetInstance(Document, fs)


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

document.Open()
Dim cb As PdfContentByte = writer.DirectContent

' Set the font, color and size properties for writing text to the PDF
Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED)
cb.SetColorFill(BaseColor.DARK_GRAY)
cb.SetFontAndSize(bf,

' Write text in the PDF
cb.BeginText()
Dim text As String = " new text"

' Set the alignment and coordinates here
cb.ShowTextAligned(1, text, 520, 640, 0)
cb.EndText()

' Put the text on a new page in the PDF
Dim page As PdfImportedPage = writer.GetImportedPage(reader, 1)
cb.AddTemplate(page, 0, 0)

' Close the objects
document.Close()
fs.Close()
writer.Close()
reader.Close()
End Sub
End Class
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [5 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » dot Net και Visual Studio


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Form Visual Basic & Βάση Δεδομένων Access 1 TsikalidisAlex 29 Σεπ 2015 06:39
Intefix Εμφάνιση τελευταίου μηνύματος
Visual Basic 0 TsikalidisAlex 27 Ιουλ 2015 18:28
TsikalidisAlex Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 18 Ιαν 2017 20:13 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos