Как сохранить файл Excel через VB 2010 без каких-либо диалогов (например, «сохранить как») - PullRequest
3 голосов
/ 27 марта 2012

Я пытаюсь сохранить файл Excel с помощью VB 2010, и у меня есть следующие вопросы

  1. Как отключить диалоговое окно «Сохранить как»?Я пробовал такие вещи, как «сохранить» вместо «сохранить как», но это не сработало ...

  2. После того, как я сохранил файл (используя команду «Сохранить как»), я могуего удалить ... (я пытался закрыть файл Excel, Visual Basic и т. д.), все, что я получаю, это ошибка, говорящая, что он уже открыт в Excel ...

  3. Есть ли способ заставить VB показать мне советы по написанию материала Excel (т. Е. Когда я пишу окно сообщения. Появляется подсказка «Показать» для помощи. Как я могу включить это для кода Excel [worksheets.cells. Ect.])

соединение:

Sub Connect()
    ' Connect to the excel file
    oExcel = CreateObject("Excel.Application")
    'Devine the  workbook
    oBook = oExcel.workbooks.open("e:\Words\Heb.xls")
End Sub

saveas:

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
    oExcel.SaveAs(oExcel.Path & ".xls")
End Sub

Спасибомного

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

Я думаю, что Инафизигер решил вашу главную проблему, это должна быть ваниль Save.

Поскольку мне было неясно, что именно вы делаете (то есть Visual Studio / VB / BA), тогда

Вкл (1)

Я подумал, что стоит уточнить, что вы можете использовать код внутри модуля ThisWorkbook для обнаружения и обработки SaveAs, если вы предоставляете пользователям выбор. Это событие обнаруживает SaveAs и отменяет его

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then
        MsgBox "You cannot use SaveAs to save this file", , "Save Cancelled!"
        Cancel = True
    End If
End Sub

Этот код может быть программно добавлен в вашу целевую рабочую книгу, но я сомневаюсь, что вам придется прибегнуть к этому, поскольку вы сможете запустить простой Save.

Вкл (3)

Вам необходимо использовать Раннее связывание , чтобы получить выгоду intellisense. В настоящее время вы используете позднюю привязку с oExcel = CreateObject("Excel.Application"). Обычно используемый подход состоит в том, чтобы написать код и заставить его работать с ранним связыванием, а затем преобразовать его в позднее связывание для окончательной публикации кода.

Условная компиляция (см. Комментарий внизу) может использоваться для переключения между двумя методами привязки в одном и том же коде.

2 голосов
/ 27 марта 2012

Вы должны сохранить рабочую книгу.например, oBook.Save.

Если вы создаете новый файл, вам нужно будет использовать SaveAs с правильным именем файла, чтобы сохранить его в первый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...