So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an IT-Fachinformat...

IT-Fachinformatiker
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6838
Erfahrung:  Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
32504664
Geben Sie Ihre Frage in der Kategorie Computer hier ein
IT-Fachinformatiker ist jetzt online.

Visual Basic Programmierung mit Visual Studio 2008: möchte

Kundenfrage

Visual Basic Programmierung mit Visual Studio 2008: möchte mich mit VB Word-Datei definieren per Microsoft.Office.Interop.Word.Document und damit auf eine Tabelle in der Word-Datei zugreifen. Leider meldet mir Visual Studio, dass "Document" im Namespace "Microsoft.Office.Interop.Word" nicht eindeutig ist. Können Sie mir weiterhelfe, woran das liegt und wie ich es beheben kann? Vielen Dank XXXXX XXXXX Grüße
Gepostet: vor 4 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

haben Sie als .NET-Komponente auch "Microsoft.Office.Interop.Word" gewählt? Das müssen Sie in den Verweisen explizit angeben es sollte dann auch in Ihrem Projekt folgendes existieren:

Imports Word = Microsoft.Office.Interop.Word
REM Imports Excel = Microsoft.Office.Interop.Excel '** Beispiel für Excel

Dim WordApp As Word.Application
REM Dim ExcelApp As Excel.Application '** Beispiel für Excel

Codebeispiel:

Imports Word = Microsoft.Office.Interop.Word

Dim WordApp As New Word.Application()
Dim MainDoc As Word.Document = WordApp.ActiveDocument
Dim intDocuments As Integer = 0

Welche Office Version haben Sie? Für 2003 müssen Sie z.B. folgendes installieren damit das überhaupt funktioniert:

http://www.microsoft.com/en-us/download/details.aspx?id=20923

Für Office 2007 ist es zwar per Default so, das Sie es mit .NET ansprchen können aber auch hier gibt es separat auch einen PIA:

http://www.microsoft.com/en-us/download/details.aspx?id=18346

Daher benötige ich ggf. mehr Informationen.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.
Ich habe inzwischen fast behoben, bekomme jetzt aber beim Aufrufen von "objDoc.Tables(1).Cell(x,y).Range.Text" die Fehlermeldung "COMException wurde nicht behandelt. das angeforderte Element ist nicht in der Sammlung enthalten". Wie kann ich mir da behelfen?
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

also Sie müssen das natürlich so machen:

Try
'*** was auch immer Sie tun wollen
Catch
'** Fehlermeldung ausgeben
Finally
'** aufräumen ist optional
End Try


Sie müssen also den Code mit Try..End Try umschließen, damit die Ausnahme behandelt wird. Konrket:

Try
'** Ihr Code, der u.U. den Fehler verursachen wird
Catch ex As COMException
' der Fehler wird ausgelöst
Catch ex As Exception
' noch etwas zu tun
End Try

so würde es gehen.

Gruss Günter


Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo, also konrket sähe das bei Ihnen in etwa so aus:

Try
'** Ihr Code, der u.U. den Fehler verursachen wird
'** weil ein Wert X zu gross ist, eine Datei nicht richtig ist usw.
Catch ex As COMException
' der Fehler wird ausgelöst
Catch ex As Exception
' noch etwas zu tun, falls erforderlich z.B. aufräumen
End Try

so würde es gehen. Das müssen Sie rein programmieren ansonsten taucht das immer wieder auf.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.
Damit kann ich nun zwar den Fehler abfangen und der Code läuft, greift aber nicht auf die vorgegebene Zelle in der Word-Tabelle. Woran kann das liegen? Vielen Dank XXXXX XXXXX
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Also zur Erläuterung Try..Catch..End Try sind die einzigen Möglichkeiten Fehler (Ausnahmen genannt) auzuwerten:

http://msdn.microsoft.com/de-de/library/fk6t46tz%28v=vs.80%29.aspx

eine Art On Error Goto gibt es gottsei Dank nicht mehr. Ich selbst programmiere allerdings unter .NET nur in C# das hat seine Gründe. Warum da wer nicht auf welche Zeiel auch immer nicht zugreift hat folgende Ursachen:

- die Zelle die Sie ansprechen gibt es nicht
- die Zelle ist leer
- die Datei existiert nicht oder die Tabelle existiert nicht
- die Datei ist bereits geöffnet und im exklusiven Zugriff
- der Code greift mit falschen Methoden auf eine Tabelle zu
- das Dokument ist geschützt oder gesperrt

Haben Sie es denn in etwa so gemacht

Dim WordTabelle As Word.Table
WordTabelle = WordDoc.Tables.Item(1) '** 1. Tabelle
WordTabelle.Rows.Item(1).Cells.Item(1).Select() '** 1. Zeile, 1. Zelle

danach kann man mit WordApp Selection hin und her springen, manipulieren usw.

Gruss Günter

Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Konkret sähe ein Beispiel in etwa so aus:

With WordApp.Selection
.TypeText("Ihre Tabelle")
.Move(Unit:=Word.WdUnits.wdCell, Count:=2)
.TypeText("ein Wert in einer Zelle")
End With


Die Objektnamen dürften klar sein. Wobei Word selbst natürlich aus dem Imports hervor gegangen ist.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.
wie gebe ich Visual Basic die Worddatei, in Beispiel Test.doc, vor, aus der VB die Tabellenzelle lesen soll?
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

habe der Einfachheit halber mal ein komplettes Beispiel für Sie heraus gesucht:

http://www.vb-magazin.de/forums/forums/p/2515/8969.aspx

ganz unten sehen Sie, wie es in VB funktioniert sollte auch in Ihrer Version so klappen vielleicht bringt Sie das ans Ziel. Das ist ejedenfalls einfacher, als immer Codefragmente zu posten.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.
Vielen Dank, XXXXX XXXXX es, wie ich es mir wünsche. Gruß aus dem Schwabenländle
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

super sehen Sie wir haben es! Ich hoffe, das ich Ihnen auch wirklich helfen konnte war und würde mich in dem Fall sehr über iene positive Bewertung einfach auf den :-) drücken freuen und danke XXXXX XXXXX herzlich dafür und bin gern weiter für Sie da!

LG Günter
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6838
Erfahrung: Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
IT-Fachinformatiker und weitere Experten für Computer sind bereit, Ihnen zu helfen.
Kunde: hat geantwortet vor 4 Jahren.
Hallo, eine Frage habe ich noch: wie kann ich eine ganze Tabelle aus einer Word-Datei in eine Textbox in VB einfügen?
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hm, also probiert habe ich das noch nicht da ich das momentan nicht benötige. Ich würde anhand des Beispiels das Sie haben vorgehen und dann Zeile für Zeile einlesen. Im einfachsten Fall würde dann eine Variable sich so darstellen:

Dim varTableValue As String

Do '** Bei Zeile 1 starten, klar steht ja auch im Beispielcode
varTableValue = varTableValue& WordTableCell
'** Move(Unit:=wdCell, Count:=X) verwenden, um in die nächste Zelle zu gelangen
'** das vorliegende Beispielzeigt dessen Verwendung
Loop Until WordTableCell = "" '** solange, bis der Wert NULL erreicht ist

Sie müssten also den Beispiel so erweitern, das Sie ihn mit der o.a. Konstruktion umschließen also einfach Zelle für Zelle durchlaufen bzw. Zeile für Zeile. Sie wissen ja, wie man auf die einzelnen Zellen und Zeilen etc. zugreift. Probieren Sie es einmal ich bin ja weiter für Sie da!

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.
Hallo, bisher klappt es ganz gut. Habe aber noch eine Frage: wie kann ich in einer Textbox in z.B. Form1.Textbox1.Text nicht in einer Zeile schreiben, sondern den zweiten Textteil in der Textbox in die nächste Zeile. In C geht das z.B. mit \n. Gibt es so etwas auch in VB?
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
achso dazu gab es in dem alten VB6 vbCrLf und in VB.NET ist das:

Environment.NewLine

exakter:

System.Environment.NewLine

alternativ ginge das hier auch noch:

Const vbCrLf = Chr(10) & Chr(13)

das führt in allen Fällen zu einer neuen Zeile. Das "\n" ist in C/C++ wie C# gültig. Vrsuchen Sie es einmal ;-)

LG Günter
Kunde: hat geantwortet vor 4 Jahren.
Hallo, super, vielen Dank. Endlich habe ich es so wie ich es mir wünsche.
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
sehr gut, das ist doch klasse! Gern stehe ich bei weiteren Fragen zur Verfügung. LG Günter

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
< Zurück | Weiter >
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
  • Endlich ein Experte, der mir wirklich weiterhelfen konnte! DANKE! JustAnswer Kunde Taunusstein
  • Ihre Antwort hat mir sehr geholfen, die richtigen Entscheidungen zu treffen. Dass Sie mir darüber hinaus noch 2 Empfehlungen gegeben haben fand ich super. Vielen Dank! JustAnswer Kunde Freiburg
  • Die ausgearbeiteten Hilfen waren gut strukturiert, leicht verständlich und zu 100% hilfreich für mich. Vielen Dank Markus B. Karlsruhe
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/PY/Pyroflash/2011-4-21_104934_tronic.64x64.jpg Avatar von Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
  • http://ww2.justanswer.com/uploads/rufushoschi/2010-11-08_135947_bild.jpg Avatar von IT-Fachinformatiker

    IT-Fachinformatiker

    Systemadministrator

    Zufriedene Kunden:

    6338
    Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
  • http://ww2.justanswer.com/uploads/COMINAROSA/2010-02-03_172238_PASSBILD.JPG Avatar von COMIN IT-Service

    COMIN IT-Service

    Dipl.-Ing.

    Zufriedene Kunden:

    779
    Dipl.Ing (FH) ET, NT, IT
  • http://ww2.justanswer.com/uploads/RaubergerConcep/2010-03-02_102740_Portraet64.jpg Avatar von RaubergerConcept

    RaubergerConcept

    IT-Specialist

    Zufriedene Kunden:

    234
    Mehr als 10 Jahre Erfahrung in Softwareentwicklung und Netzwerktechnik
  • http://ww2.justanswer.com/uploads/LF/lfalkenburg/2015-2-8_01843_.64x64.jpg Avatar von Lutz Falkenburg

    Lutz Falkenburg

    IT-Specialist

    Zufriedene Kunden:

    96
    Seit über 20 Jahren beruflich im IT-/IUK-Bereich tätig. Egal ob EinzelPC der Netzwerk...
  • http://ww2.justanswer.com/uploads/BI/BigDaddyXD/2012-10-24_20126_WhySoSeriousJob.64x64.jpg Avatar von BigDaddyXD

    BigDaddyXD

    Informatiker

    Zufriedene Kunden:

    1588
    Microsoft Certified Professional, Microsoft Certified Desktop Support Technican,...
  • http://ww2.justanswer.com/uploads/PU/Pucky80/2011-5-14_54537_pucky80.64x64.jpg Avatar von Pucky80

    Pucky80

    IT-Systemkaufmann

    Zufriedene Kunden:

    1322
    MCITP (Microsoft Server 2008 Enterprise Administrator)
 
 
 

Ähnliche Fragen in der Kategorie Computer