Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с MS Office, открытие .doc файлов 
V
    Опции темы
Barabeo
Дата 5.12.2011, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



На сей код выдает следующие ошибки:
Ошибка    1    Недопустимая лексема "(" в объявлении класса, структуры или интерфейса    D:\Visual Studio 2008\Qu\Qu\Form1.cs    39    34    Qu

Ошибка    2    Недопустимая лексема "," в объявлении класса, структуры или интерфейса    D:\Visual Studio 2008\Qu\Qu\Form1.cs    39    47    Qu


И так на каждую запятую в Progr.Documents.Open.
Вот этот код:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Word.Microsoft.Office.Interop.Word;
using Office.Microsoft.Office.Core;

namespace Qu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //word
        Object filename = "C:\\Word.doc";
            Object confirmConversions = Type.Missing;
            Object readOnly = Type.Missing;
            Object addToRecentFiles = Type.Missing;
            Object passwordDocument = Type.Missing;
            Object passwordTemplate = Type.Missing;
            Object revert = Type.Missing;
            Object writePasswordDocument = Type.Missing;
            Object writePasswordTemplate = Type.Missing;
            Object format = Type.Missing;
            Object encoding = Type.Missing;
            Object visible = Type.Missing;
            Object openConflictDocument = Type.Missing;
            Object openAndRepair = Type.Missing;
            Object documentDirection = Type.Missing;
            Object noEncodingDialog = Type.Missing;
            Word.Application Progr = new Microsoft.Office.Interop.Word.Application();
            Progr.Documents.Open (ref filename,
                ref confirmConversions,
                ref readOnly,
                ref addToRecentFiles,
                ref passwordDocument,
                ref passwordTemplate,
                ref revert,
                ref writePasswordDocument,
                ref writePasswordTemplate,
                ref format,
                ref encoding,
                ref visible,
                ref openConflictDocument,
                ref openAndRepair,
                ref documentDirection,
                ref noEncodingDialog);
            Word.Document Doc= new Microsoft.Office.Interop.Word.Document();
            Doc.Progr.Documents.Application.ActiveDocument;
            object start = 0;
            object stop = Doc.Characters.Count;
            Word.Range Rng = Doc.Range(ref start, ref stop);
            string Result = Rng.Text;
            object sch = Type.Missing;
            object aq = Type.Missing;
            object ab = Type.Missing;
            Progr.Quit(ref sch, ref aq, ref ab);


PM MAIL   Вверх
Fortnox
Дата 6.12.2011, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 14
Всего: 22



Вы этот код, простите, видите где написали? Вне всякого метода.
Естестнно, компилятор будет "ругаться".
PM MAIL   Вверх
Barabeo
Дата 6.12.2011, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Цитата(Fortnox @ 6.12.2011,  01:34)
Вы этот код, простите, видите где написали? Вне всякого метода.
Естестнно, компилятор будет "ругаться".

Извиняюсь.
Бывает.
PM MAIL   Вверх
Barabeo
Дата 6.12.2011, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Как выгрузить Office при завершении приложения?
А то в диспетчере висят эти плагины.
И компилятор выдает предупреждение:
Предупреждение 1 Неоднозначность между методом "Microsoft.Office.Interop.Word._Application.Quit(ref object, ref object, ref object)" и "Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit", который методом не является. Используйте группу методов.


на вот эту строку:

Код

Progr.Quit(ref sch, ref aq, ref ab);


и еще как вызвать Doc из этого метода (плохо ладим с ООП):
Код

private void btnSaveTXT_Click(object sender, EventArgs e)
        {
            object Target = "C:\\~Garbage\\123.txt";// куда сохранить
            object Unknown = Type.Missing;
            object format_ = Word.WdSaveFormat.wdFormatText;
            //Сохранение файла в формате txt
            Doc.SaveAs(ref Target, ref format_,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown);
        }
 

Сообщение компилятора:
Ошибка 2 Элемент "Doc" не существует в текущем контексте.


Весь код:
Код

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnOpenDOC_Click(object sender, EventArgs e)
        {
            //word
            Object filename = "C:\\~Garbage\\Word.doc";
                Object confirmConversions = Type.Missing;
                Object readOnly = Type.Missing;
                Object addToRecentFiles = Type.Missing;
                Object passwordDocument = Type.Missing;
                Object passwordTemplate = Type.Missing;
                Object revert = Type.Missing;
                Object writePasswordDocument = Type.Missing;
                Object writePasswordTemplate = Type.Missing;
                Object format = Type.Missing;
                Object encoding = Type.Missing;
                Object visible = Type.Missing;
                Object openConflictDocument = Type.Missing;
                Object openAndRepair = Type.Missing;
                Object documentDirection = Type.Missing;
                Object noEncodingDialog = Type.Missing;
                Word.Application Progr = new Microsoft.Office.Interop.Word.Application();
                Progr.Documents.Open (ref filename,
                    ref confirmConversions,
                    ref readOnly,
                    ref addToRecentFiles,
                    ref passwordDocument,
                    ref passwordTemplate,
                    ref revert,
                    ref writePasswordDocument,
                    ref writePasswordTemplate,
                    ref format,
                    ref encoding,
                    ref visible,
                    ref openConflictDocument,
                    ref openAndRepair,
                    ref documentDirection,
                    ref noEncodingDialog);
                Word.Document Doc= new Microsoft.Office.Interop.Word.Document();
                Doc = Progr.Documents.Application.ActiveDocument;
                object start = 0;
                object stop = Doc.Characters.Count;
                Word.Range Rng = Doc.Range(ref start, ref stop);
                string Result = Rng.Text;
                object sch = Type.Missing;
                object aq = Type.Missing;
                object ab = Type.Missing;
                Progr.Quit(ref sch, ref aq, ref ab);

                txtDOC.Text += Result;
        }

        private void btnSaveTXT_Click(object sender, EventArgs e)
        {
            object Target = "C:\\~Garbage\\123.txt";// куда сохранить
            object Unknown = Type.Missing;
            object format_ = Word.WdSaveFormat.wdFormatText;
            //Сохранение файла в формате txt
            Doc.SaveAs(ref Target, ref format_,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown);
        }
    }

PM MAIL   Вверх
jonie
Дата 7.12.2011, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



вот тут я уже отвечал почему так происходит http://forum.vingrad.ru/index.php?showtopi...t&p=2410972


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Barabeo
Дата 8.12.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Всем спасибо. Нашел статейку по работе с Office.
Код

((Word._Application)wordapp).Quit(ref saveChanges,
                             ref originalFormat, ref routeDocument);                        
wordapp = null;



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0699 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.