Предварительный просмотр без открытия приложения Excel [VB.net] - PullRequest
0 голосов
/ 04 марта 2019

В VB.net Могу ли я распечатать предварительный просмотр без приложения Excel?Я искал это во многих местах и ​​не нашел ответа.

Теперь я использую этот метод.

Dim XSh As Object = CreateObject("excel.application")
XSh.workbooks.open("D:\WP\formPrint.xlsx")
XSh.visible = True

For i As Integer = 0 To count

    XSh.worksheets(1).range("A21").value = DataGridView1.Rows(i).Cells(0).Value
    XSh.worksheets(1).range("A22").value = DataGridView1.Rows(i).Cells(1).Value
    XSh.worksheets(1).range("A23").value = DataGridView1.Rows(i).Cells(2).Value
    XSh.worksheets(1).range("A24").value = DataGridView1.Rows(i).Cells(3).Value

    XSh.Sheets.PrintPreview()
    XSh.Sheets.PrintOut()

Next i

XSh.workbooks(1).close(SaveChanges:=False)
XSh.application.Quit

, и я попытался изменить

XSh.visible = False

Это ничего не показывает.Я хочу показать только Print Preview, а не файл приложения Excel.Как я могу сделать?

1 Ответ

0 голосов
/ 05 марта 2019

Предварительный просмотр является частью приложения Excel, поэтому он будет отображаться только при установке XsH.visible = true Вы также можете установить его в значение true прямо перед отображением предварительного просмотра и установить значение false в момент печати. ​​

Dim XSh As Object = CreateObject("excel.application")
XSh.workbooks.open("D:\WP\formPrint.xlsx")
XSh.visible = False

For i As Integer = 0 To count

    XSh.worksheets(1).range("A21").value = DataGridView1.Rows(i).Cells(0).Value
    XSh.worksheets(1).range("A22").value = DataGridView1.Rows(i).Cells(1).Value
    XSh.worksheets(1).range("A23").value = DataGridView1.Rows(i).Cells(2).Value
    XSh.worksheets(1).range("A24").value = DataGridView1.Rows(i).Cells(3).Value

    XSh.visible = True
    XSh.Sheets.PrintPreview()
    XSh.Sheets.PrintOut()
    XSh.visible = False

Next i

XSh.workbooks(1).close(SaveChanges:=False)
XSh.application.Quit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...