#excel #vb.net
Вопрос:
Я пытаюсь собрать коллекцию серий.Посчитайте и .Удалить, чтобы работать, но ни один из них этого не делает. Я пробовал .NET 5 и старые основные функции 3.1. Я получаю эту ошибку при запуске программы.
System.MissingMemberException HResult=0x80131512 Сообщение=Открытый член «Количество» по типу «__ComObject» не найден.
Источник=Microsoft.VisualBasic.Трассировка стека ядра: в Microsoft.VisualBasic.CompilerServices.Символы.Контейнер.GetMembers(Строка и имя участника, логические отчеты) в Microsoft.VisualBasic.CompilerServices.Новая привязка.ObjectLateGet(Экземпляр объекта, Тип типа, Имя участника строки, аргументы объекта [], Имена аргументов строки [], Документы типа [], Логическая[] Обратная копия) в Microsoft.VisualBasic.CompilerServices.Новая привязка.Последний набор(Экземпляр объекта, Тип типа, Имя участника строки, Аргументы объекта [], Имена аргументов строки [], Документы типа [], Логическая[] Обратная копия) в ExcelTest.Форма1.Form1_Load(Отправитель объекта, параметры события e) в C:UsersostryessourcereposExcelTestForm1.vb:line 45 в системе.Windows.Формы.Форма.Загрузка(EventArgs e) в системе.Windows.Формы, формы.OnCreateControl() в системе.Windows.Формы.Контроль.createControl(логическая форма, делимая на fIgnoreVisible)
в Системе.Windows.Формы.Контроль.createControl() в системе.Windows.Формы.Контроль.WmShowWindow(Сообщение и m) в системе.Windows.Формы.Контроль.WndProc(Сообщение и m) в системе.Windows.Формы.Управление прокруткой.WndProc(Сообщение и m) в системе.Windows.Формы.Контейнерный контроль.WndProc(Сообщение и m) в системе.Windows.Формы.Форма.WmShowWindow(Сообщение и m) в системе.Windows.Формы.Форма.WndProc(Сообщение и m) в системе.Windows.Формы.Контроль.Контрольное окно.onMessage(Сообщениеamp; m) в системе.Windows.Формы.Контроль.Контрольное окно.WndProc(Сообщение и m) в системе.Windows.Формы.Родное окно.Отладочный обратный вызов(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Imports System.IO
Imports System
Imports System.Text.Encoding
Imports Microsoft.VisualBasic.FileIO
Imports System.Convert
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop
Imports System.Runtime.InteropServices
Imports System.Reflection.Emit
Imports System.Drawing.Imaging
Public Class Form1
Dim xlApp As Excel.Application = Nothing
Dim xlWorkBooks As Excel.Workbooks = Nothing
Dim xlWorkBook As Excel.Workbook = Nothing
Dim xlWorkSheet As Excel.Worksheet = Nothing
Dim xlWorkSheets As Excel.Worksheets = Nothing
Dim xlTargetRange As Excel.Range = Nothing
Dim xlCharts As Microsoft.Office.Interop.Excel.ChartObjects = Nothing
Dim xlChart As Microsoft.Office.Interop.Excel.ChartObject = Nothing
Dim myChart As Microsoft.Office.Interop.Excel.Chart = Nothing
Dim xlSeries As Microsoft.Office.Interop.Excel.Series = Nothing
Dim strChartName As String
Dim strSeries1 As String
Dim strSeries2 As String
Dim strNameVal As String
Dim strVal As String
Dim strXVal As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
xlApp = New Microsoft.Office.Interop.Excel.Application
xlWorkBooks = xlApp.Workbooks
xlWorkBook = xlWorkBooks.Open("F:DocumentsMiser TimingsMiser_Offline_Online_Timings.xlsx")
xlWorkSheet = xlWorkBook.Worksheets("Miser_Times")
xlWorkSheet.Activate()
xlApp.DisplayAlerts = True
xlApp.Visible = True
xlWorkSheet = xlWorkBook.Worksheets("Miser_Times")
xlWorkSheet.ChartObjects(1)
xlWorkSheet.Select()
xlWorkSheet.Activate()
For Each xlChart In xlWorkSheet.ChartObjects
strChartName = xlChart.Chart.Name
If InStr(strChartName, "BatchGraph") Then
xlChart.Activate()
myChart = xlChart.Chart
Do While myChart.SeriesCollection.Count > 0
myChart.SeriesCollection(1).delete
Loop
End If
Next
End Sub
End Class
У меня есть аналогичный код, который работает некоторое время назад, но этот-нет. Мы используем Office 365 для Excel. Я получаю правильное название диаграммы в этом поле и выбираю эту диаграмму, так как она выделяет данные. Я просто не могу понять .посчитай и .удалить, чтобы работать. Любая помощь приветствуется.