104 / 55 / 7
Регистрация: 02.07.2013
Сообщений: 314
1

"Application" в пространстве имен "Microsoft.Office.Interop.Excel" является неоднозначным

09.07.2013, 02:53. Показов 4588. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, подключил библиотеку Microsoft Excel 11 object library, прописал
VB.NET
1
2
3
4
5
Imports Microsoft.Office.Interop
Dim _excel as new microsoft.office.interop.excel.application
Dim _workbook as microsoft.office.interop.excel.workbook
_excel.visible=true
_workbook=excel.worcbooks.add()
выдает ошибку
Кликните здесь для просмотра всего текста
Ошибка 31 "Application" в пространстве имен "Microsoft.Office.Interop.Excel" является неоднозначным. D:\...\Form2.vb 498 24 Project1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2013, 02:53
Ответы с готовыми решениями:

Как исправить ошибку: "MsoShapeType" в пространстве имен "Microsoft.Office.Core" является неоднозначным.
Перевожу код программы из VBA worda на VB 2010 вот код (из темы в разделе VBA "автозамена текста в...

Каждый раз в исходниках появляется ошибка: "IContainer" в пространстве имен "System. ComponentModel" является неоднозначным
'Является обязательной для конструктора форм Windows Forms Private components As...

"Text", импортированный из пространств имен или типов "System, System.Drawing", является неоднозначным
В Visual Studio 2010 при обработке строки с текстом появляется такая ошибка: "Text",...

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу Проблема следующая, если у...

8
Заблокирован
09.07.2013, 04:20 2
Цитата Сообщение от Бормалей Посмотреть сообщение
_workbook=excel.worCbooks.add()
-опечатка?
0
104 / 55 / 7
Регистрация: 02.07.2013
Сообщений: 314
10.07.2013, 12:01  [ТС] 3
Цитата Сообщение от Апострофф Посмотреть сообщение
-опечатка?
Да копировал с поста.
Но даже исправив ошибка осталась. Да и проблема то в объявлении _excel _workbook.

Про тэги учту.

Добавлено через 22 часа 36 минут
Проблема осталась, шарил в интернете все указывают на строчку
VB.NET
1
Imports Microsoft.Office.Interop
Добавлено через 9 часов 0 минут
Может кто объяснить в чем причина?
в инете
Кликните здесь для просмотра всего текста
Чтобы устранить эту проблему, можно использовать один из следующих методов:
Явным образом привести объект к нужному интерфейсу, перед вызовом метода Quit . Например можно использовать следующее:
CType(oWordApp, Word._Application).Quit()
Измените объявление переменной, чтобы использовать расширенный объект-оболочка класса для объекта. Например вместо Word.Application, измените объявления, чтобы выглядеть следующим образом:
Dim oWordApp As New Word.ApplicationClass()

однако это не помогло.
код
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 Public Sub mnuRaschet_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuRaschet.Click
 
        Dim pathDB = System.Windows.Forms.Application.StartupPath & "\db1.mdb"
        Dim conection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pathDB)
        Dim Anket1 As db1DataSet.Anket1Row
 
        If conection.state = ConnectionState.Closed Then conection.open() 'НУЖНО ОТОБРАТЬ ВОПРОСЫ ИХ ДОЛЖНО 50. Гравицапа
        ' Первая таблица
        Dim COMMAND As OleDb.OleDbCommand = New OleDb.OleDbCommand("Select NameUslugi, v1,v2,v3,v4,v5,v6,v7,v8,v9,v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30" &
              ", v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55 from Anket1", conection)
        Dim oDataReader As OleDb.OleDbDataReader = COMMAND.ExecuteReader()
        Dim icol As Integer
        Dim COMMANDBall As OleDb.OleDbCommand = New OleDb.OleDbCommand("Select Ball from Ball1", conection)
        Dim oDataReaderBall As OleDb.OleDbDataReader = COMMANDBall.ExecuteReader()
        oDataReaderBall.Read()
 
        Dim ball As Integer = 0
        Dim NameUsl As String = ""
        Dim Proverk As String = ""
        While oDataReader.Read
            If NameUsl <> oDataReader(0) And Proverk <> "" Then
                MsgBox(ball, MsgBoxStyle.Critical)
                NameUsl = oDataReader(0)
            Else
                For icol = 1 To oDataReader.FieldCount - 1
                    If oDataReader(icol) = True Then
                        ball = ball + oDataReaderBall(0)
                    End If
                    oDataReaderBall.Read()
                Next
 
            End If
            Proverk = "1"
        End While
        conection.close()
        'Вторая таблица
        ' Построение таблицы 
        Dim oWordApp As New Microsoft.Office.Interop.Excel.ApplicationClass() ' Тут ошибка!
        Dim workbook As Microsoft.Office.Interop.Excel.ApplicationClass()'и Тут ошибка!
 
 
        Dim aNameUslug As String
 
 
 
        COMMAND = New OleDb.OleDbCommand("Select Srokpred, Vremya, kolVo from Anket2 where Anket2.NameUslugi =" & aNameUslug, conection)
 
 
 
 
        'MsgBox("База пуста", MsgBoxStyle.Information)
    End Sub
0
1588 / 661 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
10.07.2013, 13:09 4
Покажите ссылки проекта ...
1
104 / 55 / 7
Регистрация: 02.07.2013
Сообщений: 314
11.07.2013, 02:12  [ТС] 5
Спасибо Step_UA, посмотрел ссылки - увидел, что подключены 2 библиотеки Офис и Эксель, отрубил Эксель и нормально все стало.
0
114 / 4 / 0
Регистрация: 07.09.2014
Сообщений: 329
02.03.2015, 21:28 6
[/VB]
Цитата Сообщение от Бормалей Посмотреть сообщение
посмотрел ссылки - увидел, что подключены 2 библиотеки Офис и Эксель, отрубил Эксель и нормально все стало.
а что эти библиотеки противоречат друг другу?
0
8927 / 4839 / 1885
Регистрация: 11.02.2013
Сообщений: 10,246
02.03.2015, 23:17 7
Некоторые пространства имён содержат объекты с одинаковыми именами. Для избежания путаницы следует при импорте пространств имён давать им понятные имена:
VB.NET
1
2
Imports Office = Microsoft.Office.Interop
Imports Excel = Microsof.Office.Excel.Interop
Тогда можно их разделять:
VB.NET
1
2
Dim off_app As Office.Application
Dim ex_app As Excel.Application
0
114 / 4 / 0
Регистрация: 07.09.2014
Сообщений: 329
03.03.2015, 08:55 8
ViterAlex,
Цитата Сообщение от ViterAlex Посмотреть сообщение
Visual Basic
1
2
Dim off_app As Office.Application
Dim ex_app As Excel.Application
извиняюсь, а где здесь объекты с одинаковыми именами?
0
Модератор
Эксперт .NET
3891 / 3213 / 484
Регистрация: 27.01.2014
Сообщений: 5,897
03.03.2015, 11:32 9
А так не работает чтоли?
VB.NET
1
Imports Microsoft.Office.Interop.Excel
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2015, 11:32
Помогаю со студенческими работами здесь

Поиск в DGW вылетает с ошибкой "Приведение типа "|DBNull" к типу "String" является недопустимым."
В общем такой вопрос. Код рабочий. Только у меня не работает. For i = 0 To...

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое значение shell на...

Ошибка при запуске .exe файла из debug: "Приведение строки "Июнь" к типу "Double" является недопустимым"
Если запускать из самого проекта(F5), то все нормально, а если скомпилированный запустить, то...

"ExecutablePath" не является членом "Application"
Добрый день! Делаю приложение для программы INventor используя apprentice Inventor, при попытки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru