Problem z otwarciem pliku .doc w aplikacji WinForm

0

Dzień dobry,
mam problem z otwarciem pliku Word`a w aplikacji. Apka się nie kompiluje, jest błąd

System.Runtime.InteropServices.COMException: 'Niestety, nie można odnaleźć pliku. Czy plik nie został przeniesiony lub usunięty albo czy nie zmieniono jego nazwy?
(C:\WINDOWS\system32\Dokument.doc)'

Plik Dokument.doc jest w folderze z projektem, więc nie wiem skąd pomysł, żeby szukać do w system32. Co ciekawe, kiedy uruchomię ponownie komputer, na "dzień dobry" otwiera mi się pusty, nowy plik Word`a, od razu po zalogowaniu i wejściu na pulpit. Co może być przyczyną takiego działania aplikacji? Kod:

using System;
using System.Windows.Forms;
using Word = Microsoft.Office.Interop.Word;

namespace Generator_Dokumentow
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            Word._Application wApp = new Word.Application();
            Word.Documents wDocs = wApp.Documents;
            Word._Document wDoc = wDocs.Open("Dokument.doc", ReadOnly: false);
            wDoc.Activate();

            Word.Bookmarks wBookmarks = wDoc.Bookmarks;
            Word.Bookmark wBookmark = wBookmarks["NrKarty"];
            Word.Range wRange = wBookmark.Range;
            wRange.Text = textBox1.Text;
        }

        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
    }
}

0

Podawaj pełną ścieżkę do pliku.

Prawidłowo powinieneś raczej otworzyć SaveFileDialog i pozwolić użytkownikowi wybrać docelową ścieżkę i nazwę pliku.

0

Niestety to nie pomaga. Próbowałem

0

To ma być aplikacja, w której w pliku Word jest szablon, do którego wpisywane są dane w odpowiednie pola, stąd musi być on od razu załadowany w trybie do modyfikacji i zapisu, żeby wpisywało się do niego to, co użytkownik wypełni w aplikacji.

0

Zmieniłem kod i teraz działa

string path = Directory.GetCurrentDirectory();
            Directory.SetCurrentDirectory(path);
            string toOpen = path + "/Dokument.doc";
            Console.WriteLine(path);
            Word._Application wApp = new Word.Application();
            Word.Documents wDocs = wApp.Documents;
            Word._Document wDoc = wDocs.Open(toOpen, ReadOnly: false);

niemniej zastanawia mnie ciągle, czemu po restarcie komputera otwierał nowy plik Word`a, zaś nie w trakcie działania apki. Jeśli ktoś ma jakiś pomysł na wyjaśnienie tego zjawiska to chętnie się poczytam, natomiast ogólnie temat do zamknięcia, bo główny problem rozwiązany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1