Excel 2010 Изменение формата строки сводной диаграммы на книге. Сохранение - PullRequest
0 голосов
/ 03 апреля 2019

Я написал связку VBA для Excel 2010 для извлечения данных из базы данных Access, размещения сводной таблицы в новой книге и создания сводной диаграммы на основе этой сводной таблицы с двумя рядами данных.Одна серия - это строка, а вторая - строка, в которой я установил .MarkerStyle равным xlMarkerStyleNone.Макрос также сохраняет новую рабочую книгу.

Когда я открываю эту сохраненную рабочую книгу, я обнаруживаю, что на строке теперь есть маркеры.

Пытаясь выяснить, что здесь происходит, у меня естьнажмите [CTRL] - [BREAK], чтобы остановить макрос после форматирования диаграммы и до ее сохранения, чтобы я мог видеть, что находится в формате диаграммы.Я вижу, что стиль маркера был установлен равным none, когда я щелкаю правой кнопкой мыши по серии и вижу свойства, а также проверяя это, видя, что .MarkerStyle в соответствующей серии все еще имеет значение xlMarkerStyleNone.

Когда я сохраняю новую книгу вручную с помощью [CTRL] - [S], она сохраняется просто отлично и загружается без маркеров строки.Но когда я сохраняю файл с помощью команды save-as ([ALT] - [F], [A]), я вижу, что маркеры появляются после сохранения файла.

Так что я не думаю, что это код, которыйделать это, но метод Workbook.SaveAs.Но я покажу соответствующий код на всякий случай.

Я использовал xlExcel12 и 50 в качестве FileFormat при сохранении в виде файла .xlsb, а также xlOpenXMLWorkbook и 51 при сохранении в качестве обычного файла .xlsx.Это также не имеет значения.

Обновление: я также попробовал метод Workbook.Save, который просто сохраняет новую книгу, которую я создаю, как Book1.xlsx, и у него та же проблема.

    ' Chart Formatting
    reportSheet.Shapes(10).Chart.SeriesCollection(2).ChartType = xlLine
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Visible = msoTrue
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(186, 7, 67)
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Transparency = 0
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Weight = 1.5
    reportSheet.Shapes(10).Chart.SeriesCollection(2).MarkerStyle = xlMarkerStyleNone

    ' Saving the chart
    reportbook.SaveAs fileName:=saveFileSpec, FileFormat:=xlOpenXMLWorkbook

Я ожидаю сохранения рабочей книги без каких-либо изменений в процессе сохранения при использовании метода Workbook.SaveAs.

1 Ответ

0 голосов
/ 01 мая 2019

ОК, это глупо, но я справился с этим, барабанная дробь форматирование и сохранение дважды. Это пока подойдет, но в какой-то момент я попробую предложения Джона Пельтье и доложу.

...