Benutzer mit den meisten Antworten
Veröffentlichen eines gesteuerten Worddokuments

Frage
-
Hallo zuammen, ich weiß wie ich ein worddokument mit veröffentliche, nur bei meinen jetzigen versuchen, habe ich für das doc einen pfad angegeben. wenn ich das doc aber jetzt mit veröffentlichen will findet er ja den pfad nicht mehr
ein bsp
Sub Dateizugriff(Vorlagenname As String) Try m_wdApp = New Word.Application() m_wdApp.Visible = True If VorlagenName.EndsWith(".dot") = False Then VorlagenName &=".dot" End If m_wdDatei = m_wdApp.Documents.Add(C:\usw) frage:
wie würde ihr ein WordDoc ansprechen das ihr mit veröffentlicht, der pfad des docs ist ja nicht bekannt?
danke für die hilfe
Antworten
-
Hallo- ich habs ;o),
NICHT Buildvorgang: Eingebettete Resource, SONDERN Inhalt ;o)
DANKE
- Als Antwort markiert Robert Breitenhofer Mittwoch, 12. Mai 2010 14:56
-
Hallo,
da ist mir wohl auch ein Fehler unterlaufen. Ich habe Buildvorgang und "In Ausgabeverzeichnis kopieren" zusammen gemischt. Es muss natürlich als Buildvogang "Inhalt" ausgewählt sein und "In Ausgabeverzeichnis kopieren" "Kopieren, wenn neuer". Wenn Du das so eingestellt hast und Du Deine Anwendung mit ClickOnce verteilen möchtest, sollten Deine Word Vorlagen jetzt unter Projekt => Eigenschaften => Veröffentlichen => "Anwendungsdateien" erscheinen.
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort markiert Robert Breitenhofer Mittwoch, 12. Mai 2010 14:56
Alle Antworten
-
Hallo,
worauf bezieht sich der Pfad denn? Auf das Profil des Benutzers? Vorinstallierten Vorlagen? Dein aktuelles Verzeichnis? Das Anwendungsverzeichnis?
Wenn Dir der Pfad gänzlich unbekannt ist und immer variieren kann, musst Du den Benutzer mit dem FolderDialog zur Auswahl des passenden Pfades bzw. dem OpenFileDialog zur Auswahl von Pfad und Dateinamen auffordern. Mit Hardcodierten Pfadangaben zu arbeiten ist hingegen die schlechteste aller Ideen.
Thorsten Dörfler
Microsoft MVP Visual Basic -
Hallo, also die 4 WordDokument werden in eine Datei zur .exe gepackt.
Über die Form kann der user verschiedene Dinge auswählen die auf das WordDok Auswirkung haben.
Wenn der user das erstemal auf den Knopf drückt muss er wissen das das Dok nicht vorhanden ist und das er es suchen soll.
damit dann hier m_wdApp.Documents.Add(C:\usw) also bei c der richtige link steht
ABER wie gehts das, hab einiges ausprobiert auch die sachen im Galileo open office book vb.net einstieg. ich hab sowas nocht nicht gemacht.
Bitte um Hilfe und Danke
-
Hallo,
also liegen die Word-Dokumente/Vorlagen nach dem Setup neben Deiner Anwendungsdatei? Dann kannst Du mit Application.StartupPath das passende Verzeichnis ermitteln, aus dem Deine Anwendung (EXE) gestartet wurde:
m_wdApp.Documents.Add(System.IO.Path.Combine(Application.StartupPath, "wordtemplate.dot"))
Thorsten Dörfler
Microsoft MVP Visual Basic -
Danke
Also die Word Klasse sieht beit mir jetzt so aus
Sub Dateizugriff(ByVal Vorlagenname As String) Try m_wdApp = New Word.Application() ' If Vorlagenname.EndsWith(".dot") = False Then Vorlagenname &= ".dot" End If m_wdDatei = m_wdApp.Documents.Add(System.IO.Path.Combine(Application.StartupPath, "wordtemplate.dot")) Catch ex As IOException MessageBox.Show(ex.Message) Catch ex As FileNotFoundException MessageBox.Show("so nicht!") MessageBox.Show(ex.Message) Exit Sub End Try End Sub
Aber Application.StartupPath wird bei mir unterkringelt (Der Verweis auf einen nicht freigebenen Member erfordert ein Objktverweis
und im Botton habe ich
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim WD As MyWordClass 'Dim decB As Decimal WD = New MyWordClass() With WD .Dateizugriff(System.IO.Path.Combine(Application.StartupPath, "wordtemplate.dot")) '.TextmarkeFüllen(, _ 'System.DateTime.Today.ToShortDateString) '.TextmarkeFüllen("Datum1", _ 'System.DateTime.Today.ToShortDateString) .TextmarkeFüllen("Projekt", TextBox1_Projekt.Text) .TextmarkeFüllen("ProjektNr", TextBox2_ProjektNr.Text) .TextmarkeFüllen("AbNr", TextBox3_AB.Text) '.TextmarkeFüllen( End With
hier wird es nit untergringelt... irgenwas ist falsch oder ich steh auf dem schlauch... -
Hallo,
versuche es mal mit einer vollqualifizierten Angabe in Deiner Word Klasse:
System.Windows.Forms.Application.StartupPath
Aber: In Deiner Methode "Dateizugriff" willst Du ja sicher die Datei öffnen, die über den Parameter "vorlagenname" angeben wird, oder?
In Deiner Word Klasse hast Du wahrscheinlich die Anweisung:
Imports Microsoft.Office.Interop.Word
Dadurch meint VB, Du beziehst Dich auf das Microsoft.Office.Word.Application Objekt, das auch einen StartupPath Member hat, der aber den Pfad der Word Anwendung zurückgibt und nur über den Objektverweis gültig wäre (m_wdApp.StartupPath).
Thorsten Dörfler
Microsoft MVP Visual Basic -
Hallo,
erster Teil erfolg der kringel ist weg
aber
1. beim testen über den play knopf finder er die datei nicht. also ich habe noch kein exe erstellt.
wo muss ich worddatei fürs test hinlegen
2. muss ich wordtemplate.dot schreiben oder kann ich hier den richtigen namen der word datei angeben, da ich ja vier docs hab muss ja ein unterschied gemacht werden
oder?
Danke für dein hilfe echt klasse!
-
Hallo,
am besten ist es, wenn Du die Datei(en) zu Deinem Projekt hinzufügst und dann bei den Eigenschaften der Datei (F4) unter "Buildaktion" [In Ausgabeverzeichnis kopieren] auswählst. Dann werden bei jedem Erstellen Deines Projekts, die Vorlagen in das Anwendungsverzeichnis kopiert.
btw. Wenn Du die "Play" Schaltfläche betätigst, wird bereits ein Executable erzeugt und beim Debugging ausgeführt.
Der Dateiname "wordtemplate.dot" war natürlich nur ein Beispiel, hier musst Du den richtigen Dateinamen Deiner Vorlagendatei einsetzen.
Thorsten Dörfler
Microsoft MVP Visual Basic -
Hallo,
also habe jetzt das WordDoc im Projekt (Buildvorgang: Eingebettete Ressource, In Ausgabeverzeichnis kopieren: Kopieren, wenn neuer)
Wenn ich jetzt "play drücke" klappt es
Aber an einem anderen Rechner findet er sie nicht
auch ist die WordDatei nicht im ordner publish. Wenn ich sie manuell in der Ordner neben setup lege, findet er sich nicht und auch nicht wenn ich sie unter Apllication Files lege findet er sich nicht.
Irgendwas ist noch falsch
Grüsse
-
Hallo- ich habs ;o),
NICHT Buildvorgang: Eingebettete Resource, SONDERN Inhalt ;o)
DANKE
- Als Antwort markiert Robert Breitenhofer Mittwoch, 12. Mai 2010 14:56
-
Hallo,
da ist mir wohl auch ein Fehler unterlaufen. Ich habe Buildvorgang und "In Ausgabeverzeichnis kopieren" zusammen gemischt. Es muss natürlich als Buildvogang "Inhalt" ausgewählt sein und "In Ausgabeverzeichnis kopieren" "Kopieren, wenn neuer". Wenn Du das so eingestellt hast und Du Deine Anwendung mit ClickOnce verteilen möchtest, sollten Deine Word Vorlagen jetzt unter Projekt => Eigenschaften => Veröffentlichen => "Anwendungsdateien" erscheinen.
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort markiert Robert Breitenhofer Mittwoch, 12. Mai 2010 14:56