Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6572 / 13646 ツリー ←次へ | 前へ→

【44457】Excelのページ数の計算 sicnco 06/11/17(金) 10:04 質問[未読]
【44462】Re:Excelのページ数の計算 りん 06/11/17(金) 11:57 発言[未読]
【44464】Re:Excelのページ数の計算 ichiro 06/11/17(金) 12:28 質問[未読]
【44465】Re:Excelのページ数の計算 Kein 06/11/17(金) 14:03 回答[未読]
【44478】Re:Excelのページ数の計算 ichiro 06/11/17(金) 16:01 お礼[未読]
【44485】Re:Excelのページ数の計算 sicnco 06/11/17(金) 20:41 お礼[未読]

【44457】Excelのページ数の計算
質問  sicnco  - 06/11/17(金) 10:04 -

引用なし
パスワード
   今、以下のコードを使いました、でも、ページの総数はまだ計算できない。
            m_vPages = worksheet.VPageBreaks.Count + 1;
            m_hPages = worksheet.HPageBreaks.Count + 1;

            try
            {
             //時時、Count数は一つPageBreakを多くなりました、
             //最後のpageBreakを判定します。
                if(worksheet.VPageBreaks.Count > 0)
                {
                    worksheet.VPageBreaks.get_Item(worksheet.VPageBreaks.Count) ;
                }
            }
            catch
            {
                m_vPages --;
            }

            try
            {
                if(worksheet.HPageBreaks.Count > 0)
                {
                    worksheet.HPageBreaks.get_Item(worksheet.HPageBreaks.Count) ;
                }
            }
            catch
            {
                m_hPages --;
            }
            this.m_PageCount = m_hPages * m_vPages;

【44462】Re:Excelのページ数の計算
発言  りん  - 06/11/17(金) 11:57 -

引用なし
パスワード
   sicnco さん、こんにちわ
ログの26941番の記事のツリーをお読みください。
h t t p://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=26941;id=excel

【44464】Re:Excelのページ数の計算
質問  ichiro  - 06/11/17(金) 12:28 -

引用なし
パスワード
   ▼りん さん:
いつも参考にさせていただいてます。
>sicnco さん、こんにちわ
>ログの26941番の記事のツリーをお読みください。
>h t t p://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=26941;id=excel
横から失礼します 上記参考に
実行してみたのですがいいえを押したときにもプリントしてしまうのですが
どういうコードをプラスすればよいですか
たとえば3枚プリント対象がある場合今回は 3/3のみ印刷でいいとします
1/3印刷します 『いいえ』
2/3印刷します 『いいえ』
3/3印刷します 『はい』
と言う具合にしたいのですがよろしくお願いします。
Sub MyPrint()
  Dim WS As Worksheet
  Dim AllP As Integer, i As Integer

  With Application
   .ScreenUpdating = False
   For Each WS In ActiveWindow.SelectedSheets
     WS.Activate
     AllP = .ExecuteExcel4Macro("Get.Document(50)")
     For i = 1 To AllP
      MsgBox i & " / " & AllP & " を印刷します", 4
      WS.PrintOut From:=i, To:=i, Copies:=1
     Next i
   Next
   .ScreenUpdating = True
  End With
End Sub

【44465】Re:Excelのページ数の計算
回答  Kein  - 06/11/17(金) 14:03 -

引用なし
パスワード
   内側のループ部分を・・

     For i = 1 To AllP
      If MsgBox(i & " / " & AllP & " を印刷しますか", 36) = 6 Then
        WS.PrintOut From:=i, To:=i, Copies:=1
      End If
     Next i

というように変更してみて下さい。

【44478】Re:Excelのページ数の計算
お礼  ichiro  - 06/11/17(金) 16:01 -

引用なし
パスワード
   ▼Kein さん:
>内側のループ部分を・・
>
>     For i = 1 To AllP
>      If MsgBox(i & " / " & AllP & " を印刷しますか", 36) = 6 Then
>        WS.PrintOut From:=i, To:=i, Copies:=1
>      End If
>     Next i
>
>というように変更してみて下

Keinさん毎度すみません。
うまくできました。感謝です。
横から失礼しました。ありがとうございました。

【44485】Re:Excelのページ数の計算
お礼  sicnco  - 06/11/17(金) 20:41 -

引用なし
パスワード
   ▼りん さん:
>sicnco さん、こんにちわ
>ログの26941番の記事のツリーをお読みください。
>h t t p://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=26941;id=excel

どうもありがとう

6572 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free