Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Για μια έκδοση του Microsoft Visual C# .NET αυτού του άρθρου, ανατρέξτε στο θέμα 316384.
 

Για μια έκδοση της Microsoft Visual Basic 6.0 αυτού του άρθρου, ανατρέξτε στο θέμα 313193.
 

Σύνοψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει πώς μπορείτε να δημιουργήσετε ένα νέο έγγραφο στο Word χρησιμοποιώντας αυτοματοποίηση από το .NET της Visual Basic.

Δείγμα κωδικού

Το δείγμα κώδικα σε αυτό το άρθρο δείχνει πώς μπορείτε να κάνετε τα εξής:

  • Εισαγάγετε παραγράφους με κείμενο και μορφοποίηση.

  • Περιηγηθείτε και τροποποιήστε διάφορες περιοχές μέσα σε ένα έγγραφο.

  • Εισαγάγετε πίνακες, μορφοποιήστε πίνακες και συμπληρώστε τους πίνακες με δεδομένα.

  • Προσθήκη γραφήματος.

Για να δημιουργήσετε ένα νέο έγγραφο του Word χρησιμοποιώντας αυτοματοποίηση από το .NET της Visual Basic, ακολουθήστε τα παρακάτω βήματα:

  1. Εκκινήστε το Microsoft Visual Studio .NET. Στο μενού Αρχείο, κάντε κλικ στην επιλογή Δημιουργία και, στη συνέχεια, κάντε κλικ στην επιλογή Έργο. Στην περιοχή Τύποι έργων, κάντε κλικ στην επιλογή Έργα της Visual Basic και, στη συνέχεια, κάντε κλικ στην επιλογή Εφαρμογή των Windows στην περιοχή Πρότυπα. Η φόρμα1 δημιουργείται από προεπιλογή.

  2. Προσθέστε μια αναφορά στη Βιβλιοθήκη αντικειμένων του Microsoft Word. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Στο μενού Έργο, κάντε κλικ στην επιλογή Προσθήκη αναφοράς.

    2. Στην καρτέλα COM, εντοπίστε τη Βιβλιοθήκη αντικειμένων του Microsoft Word και κάντε κλικ στο κουμπί Επιλογή.

      Σημείωση Το Microsoft Office 2003 και νεότερες εκδόσεις του Office περιλαμβάνουν κύρια συγκροτήματα interop (PIAs). Το Microsoft Office XP δεν περιλαμβάνει PIAs, αλλά μπορεί να γίνει λήψη τους.
       

    3. Κάντε κλικ στο κουμπί OK στο παράθυρο διαλόγου Προσθήκη αναφορών για να αποδεχτείτε τις επιλογές σας. Εάν εμφανιστεί ένα μήνυμα για τη δημιουργία περιτυλίγματος για τις βιβλιοθήκες που επιλέξατε, κάντε κλικ στο κουμπί Ναι.

  3. Στο μενού Προβολή, επιλέξτε Εργαλειοθήκη για να εμφανίσετε την Εργαλειοθήκη και, στη συνέχεια, προσθέστε ένα κουμπί στη Φόρμα1.

  4. Κάντε διπλό κλικ στο Κουμπί1. Εμφανίζεται το παράθυρο κώδικα για τη φόρμα.

  5. Στο παράθυρο κώδικα, αντικαταστήστε τον παρακάτω κώδικα

        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub

    Με:

        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
            Dim oWord As Word.Application
            Dim oDoc As Word.Document
            Dim oTable As Word.Table
            Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph
            Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph
            Dim oRng As Word.Range
            Dim oShape As Word.InlineShape
            Dim oChart As Object
            Dim Pos As Double
    
            'Start Word and open the document template.
            oWord = CreateObject("Word.Application")
            oWord.Visible = True
            oDoc = oWord.Documents.Add
    
            'Insert a paragraph at the beginning of the document.
            oPara1 = oDoc.Content.Paragraphs.Add
            oPara1.Range.Text = "Heading 1"
            oPara1.Range.Font.Bold = True
            oPara1.Format.SpaceAfter = 24    '24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter()
    
            'Insert a paragraph at the end of the document.
            '** \endofdoc is a predefined bookmark.
            oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara2.Range.Text = "Heading 2"
            oPara2.Format.SpaceAfter = 6
            oPara2.Range.InsertParagraphAfter()
    
            'Insert another paragraph.
            oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:"
            oPara3.Range.Font.Bold = False
            oPara3.Format.SpaceAfter = 24
            oPara3.Range.InsertParagraphAfter()
    
            'Insert a 3 x 5 table, fill it with data, and make the first row
            'bold and italic.
            Dim r As Integer, c As Integer
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, 3, 5)
            oTable.Range.ParagraphFormat.SpaceAfter = 6
            For r = 1 To 3
                For c = 1 To 5
                    oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
                Next
            Next
            oTable.Rows.Item(1).Range.Font.Bold = True
            oTable.Rows.Item(1).Range.Font.Italic = True
    
            'Add some text after the table.
            'oTable.Range.InsertParagraphAfter()
            oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara4.Range.InsertParagraphBefore()
            oPara4.Range.Text = "And here's another table:"
            oPara4.Format.SpaceAfter = 24
            oPara4.Range.InsertParagraphAfter()
    
            'Insert a 5 x 2 table, fill it with data, and change the column widths.
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, 5, 2)
            oTable.Range.ParagraphFormat.SpaceAfter = 6
            For r = 1 To 5
                For c = 1 To 2
                    oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
                Next
            Next
            oTable.Columns.Item(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2
            oTable.Columns.Item(2).Width = oWord.InchesToPoints(3)
    
            'Keep inserting text. When you get to 7 inches from top of the
            'document, insert a hard page break.
            Pos = oWord.InchesToPoints(7)
            oDoc.Bookmarks.Item("\endofdoc").Range.InsertParagraphAfter()
            Do
                oRng = oDoc.Bookmarks.Item("\endofdoc").Range
                oRng.ParagraphFormat.SpaceAfter = 6
                oRng.InsertAfter("A line of text")
                oRng.InsertParagraphAfter()
            Loop While Pos >= oRng.Information(Word.WdInformation.wdVerticalPositionRelativeToPage)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertBreak(Word.WdBreakType.wdPageBreak)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertAfter("We're now on page 2. Here's my chart:")
            oRng.InsertParagraphAfter()
    
            'Insert a chart and change the chart.
            oShape = oDoc.Bookmarks.Item("\endofdoc").Range.InlineShapes.AddOLEObject( _
                ClassType:="MSGraph.Chart.8", FileName _
                :="", LinkToFile:=False, DisplayAsIcon:=False)
            oChart = oShape.OLEFormat.Object
            oChart.charttype = 4 'xlLine = 4
            oChart.Application.Update()
            oChart.Application.Quit()
            'If desired, you can proceed from here using the Microsoft Graph 
            'Object model on the oChart object to make additional changes to the
            'chart.
            oShape.Width = oWord.InchesToPoints(6.25)
            oShape.Height = oWord.InchesToPoints(3.57)
    
            'Add text after the chart.
            oRng = oDoc.Bookmarks.Item("\endofdoc").Range
            oRng.InsertParagraphAfter()
            oRng.InsertAfter("THE END.")
    
            'All done. Close this form.
            Me.Close()
    
        End Sub
  6. Προσθέστε τον παρακάτω κώδικα στο επάνω μέρος της τοποθεσίας Form1.vb:

    Imports Word = Microsoft.Office.Interop.Word
  7. Πατήστε το πλήκτρο F5 για να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.

Αφού ολοκληρωθεί ο κώδικας, εξετάστε το έγγραφο που έχει δημιουργηθεί για εσάς. Το έγγραφο περιέχει δύο σελίδες μορφοποιημένων παραγράφων, πινάκων και ενός γραφήματος.

Χρήση προτύπου

Εάν χρησιμοποιείτε αυτοματοποίηση για τη δημιουργία εγγράφων που είναι όλα σε μια κοινή μορφή, μπορείτε να επωφεληθείτε από την έναρξη της διαδικασίας με ένα νέο έγγραφο που βασίζεται σε ένα προ-μορφοποιημένο πρότυπο. Η χρήση ενός προτύπου με το πρόγραμμα-πελάτη αυτοματοποίησης Word έχει δύο σημαντικά πλεονεκτήματα σε σχέση με τη δημιουργία ενός εγγράφου από το τίποτα:

  • Μπορείτε να έχετε μεγαλύτερο έλεγχο στη μορφοποίηση και την τοποθέτηση των αντικειμένων σε όλα τα έγγραφά σας.

  • Μπορείτε να δημιουργήσετε τα έγγραφά σας με λιγότερο κώδικα.

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

oWord.Documents.Add "<Path to your template>\MyTemplate.dot"

Στο πρότυπό σας, μπορείτε να ορίσετε σελιδοδείκτες, έτσι ώστε το πρόγραμμα-πελάτης αυτοματισμού να μπορεί να συμπληρώσει μεταβλητό κείμενο σε μια συγκεκριμένη θέση στο έγγραφο, ως εξής:

oDoc.Bookmarks.Item("MyBookmark").Range.Text = "Some Text Here"

Ένα άλλο πλεονέκτημα της χρήσης ενός προτύπου είναι ότι μπορείτε να δημιουργήσετε και να αποθηκεύσετε στυλ μορφοποίησης που θέλετε να εφαρμόσετε κατά την εκτέλεση, ως εξής:

oDoc.Bookmarks.Item("MyBookmark").Range.Style = "MyStyle"

-Ή-

oWord.Selection.Style = "MyStyle"

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τη χρήση του Visual Basic .NET για την αυτοματοποίηση του Microsoft Word, κάντε κλικ στον αριθμό του άρθρου που ακολουθεί για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:

301656 Πώς μπορείτε να αυτοματοποιήσετε το Word ώστε να εκτελεί συγχώνευση αλληλογραφίας από το .NET της Visual Basic

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×