Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

ΣΦΑΛΜΑ: "Μη έγκυρος τύπος βιβλιοθήκης ή βιβλιοθήκη παλαιότερης μορφής" (Old format or invalid type library) κατά την αυτοματοποίηση του Excel

Η υποστήριξη για το Office 2003 έχει διακοπεί

Η Microsoft διέκοψε την υποστήριξη για το Office 2003 στις 8 Απριλίου 2014. Αυτή η αλλαγή επηρέασε τις ενημερώσεις λογισμικού και τις επιλογές ασφαλείας σας. Μάθετε τι σημαίνει αυτό για εσάς και το πώς θα προστατευτείτε.

Συμπτώματα
Εάν αυτοματοποιήσετε το Microsoft Excel με τα εργαλεία Microsoft Visual Basic .NET, Microsoft Visual C# .NET ή Microsoft Visual C++, ενδέχεται να εμφανιστεί το ακόλουθο μήνυμα λάθους κατά την κλήση συγκεκριμένων μεθόδων:
Σφάλμα: 0x80028018 (-2147647512)
Περιγραφή: Μη έγκυρος τύπος βιβλιοθήκης ή βιβλιοθήκη παλαιότερης μορφής

(Error: 0x80028018 (-2147647512)
Description: Old Format or Invalid Type Library )
Αιτία
Το σφάλμα αυτό εμφανίζεται κατά την κλήση μιας μεθόδου του Excel όταν ισχούουν οι ακόλουθες συνθήκες:
  • Η μέθοδος απαιτεί ένα αναγνωριστικό γλώσσας (LCID).
  • Εκτελείτε μια αγγλική έκδοση του Excel. Ωστόσο, οι τοπικές ρυθμίσεις του υπολογιστή έχουν καθοριστεί για γλώσσα διαφορετική από την αγγλική.
Εάν ο υπολογιστής-πελάτης χρησιμοποιεί την αγγλική έκδοση του Excel και η γλώσσα του τρέχοντα χρήστη έχει καθοριστεί να είναι διαφορετική από την αγγλική, το Excel θα επιχειρήσει να εντοπίσει το πακέτο γλώσσας της καθορισμένης γλώσσας. Εάν δεν εντοπιστεί το πακέτο γλώσσας, θα αναφερθεί το σφάλμα.
Εναλλακτικός τρόπος αντιμετώπισης
Για την αντιμετώπιση αυτού του ζητήματος, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες μεθόδους:
  • Εγκαταστήστε το Multilingual User Interface Pack για την έκδοση του Office που χρησιμοποιείτε.
  • Εκτελέστε τη μέθοδο ή την ιδιότητα του Excel χρησιμοποιώντας το στοιχείο InvokeMember έτσι ώστε να μπορέσετε να καθορίσετε το CultureInfo για την κλήση. Για παράδειγμα, ο ακόλουθος κώδικας δείχνει πώς μπορείτε να ανακαλέσετε το αντικείμενο Βιβλία εργασίας (Workbooks) και τη μέθοδο Add θέτοντας το στοιχείο "en-US" ως CultureInfo:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oBooks As Object = oApp.WorkbooksDim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, oBooks, Nothing, ci)
  • Ή, να ορίσετε το στοιχείο CultureInfo προτού καλέσετε τη μέθοδο Excel. Για παράδειγμα:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oldCI As System.Globalization.CultureInfo = _    System.Threading.Thread.CurrentThread.CurrentCultureSystem.Threading.Thread.CurrentThread.CurrentCulture = _    New System.Globalization.CultureInfo("en-US")oApp.Workbooks.Add()System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

Όταν χρησιμοποιείτε μία από αυτές τις λύσεις σε έναν υπολογιστή στον οποίο οι τοπικές ρυθμίσεις δεν ταιριάζουν με την τρέχουσα έκδοση γλώσσας του Office, πρέπει να είστε εξοικειωμένοι με τον τρόπο συμπεριφοράς του Excel καθώς και με το πώς ερμηνεύει το Excel δεδομένα τα οποία ενδέχεται να είναι μορφοποιημένα για μια συγκεκριμένη γλώσσα. Για περισσότερες λεπτομέρειες σχετικά με τη σύνταξη καθολικών λύσεων του Excel με τη χρήση του Visual Studio .NET, ανατρέξτε στα ακόλουθα άρθρα του MSDN:

Δημιουργία λύσεων του Office για χρήση σε πολλές χώρες/περιοχές (στα αγγλικά): Ζητήματα καθολικής προσαρμογής και μετάφρασης για λύσεις που δημιουργούνται με τα εργαλεία του Microsoft Visual Studio για το Σύστημα του Microsoft Office (στα αγγλικά):
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα σφάλμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για".
Περισσότερες πληροφορίες

Βήματα για την αναπαραγωγή της συμπεριφοράς

  1. Βεβαιωθείτε ότι η τοπική ρύθμιση του υπολογιστή έχει οριστεί σε γλώσσα διαφορετική από την αγγλική.

    Για τα Windows 2000:
    • Στον Πίνακα Ελέγχου (Control Panel) των Windows, κάντε διπλό κλικ στο εικονίδιο Τοπικές ρυθμίσεις (Regional Options).
    • Στην καρτέλα Γενικά (General), επιλέξτε μια θέση και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
    Για τα Windows XP ή τα Windows Server 2003:
    • Στην ενότητα "Πίνακας ελέγχου" (Control Panel), ανοίξτε την επιλογή "Τοπικές ρυθμίσεις και ρυθμίσεις γλώσσας" (Regional and Language Options).
    • Στην καρτέλα Τοπικές ρυθμίσεις (Regional Options), επιλέξτε μια γλώσσα και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  2. Ξεκινήστε το Microsoft Visual Studio .NET.
  3. Από το μενού Αρχείο (File), τοποθετήστε το δείκτη του ποντικιού στην εντολή Δημιουργία (New) και κατόπιν κάντε κλικ στην εντολή Έργο (Project). Στο παράθυρο διαλόγου Νέο έργο (New Project), στην περιοχή Τύποι έργων (Project Types), κάντε κλικ στην επιλογή Έργα της Visual Basic (Visual Basic Projects). Στην ενότητα Πρότυπα (Templates), κάντε κλικ στην επιλογή Εφαρμογή των Windows (Windows Application) και, στη συνέχεια, κάντε κλικ στο κουμπί OK. Από προεπιλογή, δημιουργείται η φόρμα Form1.
  4. Στο μενού Προβολή (View), κάντε κλικ στην επιλογή Εργαλειοθήκη (Toolbox) και, στη συνέχεια, προσθέστε ένα κουμπί στη Φόρμα1.
  5. Για να εμφανίσετε το παράθυρο κώδικα για τη φόρμα, κάντε διπλό κλικ στην επιλογή Κουμπί1 (Button1).
  6. Στο παράθυρο κώδικα, αντικαταστήστε τον παρακάτω κώδικα
    Private Sub Button1_Click(ByVal sender As System.Object, _                          ByVal e As System.EventArgs) _                          Handles Button1.ClickEnd Sub					
    με τον κώδικα:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click    Dim oApp As Object    Dim oDoc As Object    oApp = CreateObject("Excel.Application")    oApp.Visible = True    oDoc = oApp.Workbooks.Add    oDoc.Close()    oApp.Quit()    oDoc = Nothing    oApp = NothingEnd Sub					
  7. Προσθέστε την ακόλουθη γραμμή στην αρχή της λειτουργικής μονάδας κώδικα Form1:
    Option Strict Off
  8. Πιέστε το πλήκτρο F5 για να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.
  9. Για να δημιουργήσετε το σφάλμα, κάντε κλικ στην επιλογή Κουμπί1 (Button1). Το σφάλμα εμφανίζεται στη γραμμή που αναφέρει:
    oDoc = oApp.Workbooks.Add					
Αναφορές
Για περισσότερες πληροφορίες σχετικά με την "Αυτοματοποίηση του Office" (Office Automation), επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft Office Development στο Web (στα αγγλικά): Επιπλέον, ανατρέξτε στα ακόλουθα άρθρα της Γνωσιακής βάσης της Microsoft (Knowledge Base):
301982 Τρόπος αυτοματοποίησης του Microsoft Excel από το Visual Basic .NET
302084 Τρόπος αυτοματοποίησης του Microsoft Excel από το Microsoft Visual C# .NET
XL2003 XL2007
Ιδιότητες

Αναγνωριστικό άρθρου: 320369 - Τελευταία αναθεώρηση: 11/15/2007 16:20:09 - Αναθεώρηση: 8.3

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual C++ 6.1, Microsoft Visual J# .NET 2003 Standard Edition, Microsoft Visual Studio Tools for the Microsoft Office System version 2003

  • kbvs2002sp1sweep kbautomation kbbug kbpending KB320369
Σχόλια
/html>: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">p;did=1&t=">&t=">