FC2ブログ

社内SEの徒然なる日記

PowerPoint2010でPDFの用紙サイズを設定する!(失敗)

■ 失敗事例

前回、PowerPoint2010でA4サイズのPDFを作成したのですが(PowerPoint2010でPDFの用紙サイズを設定する!(成功))、それが成功するまでに数回の試行錯誤がありましたので、失敗事例として記事にしてみました。

■ 失敗事例1 下準備なし

前回は下準備として、サイズの指定をしました。もし、この指定をしなかったらどうなるかというと・・・

作成されたPDFの印刷画面なのですが、右下のプレビュー画像の上に表示されているサイズが妙なサイズになっています。
PowerPoint2010のPDF - 5

当然、これを印刷しようとするとプリンタ側で用紙サイズエラーが発生します。

もちろん、「PDFのページサイズに合わせて用紙サイズを選択」のチェックを外せば印刷は出来ますが、他人に配布するとなると色々と不都合があります。

■ 失敗事例2 用紙サイズA4

PowerPoint側のページ設定をする時に、スライドのサイズ指定にA4という設定が存在していました。

わざわざ数値を打たなくても、これを選択すれば良いんじゃないかと思ったのですが、実際に設定した結果はご覧の通りで、幅と高さがA4になっていません。
PowerPoint2010のPDF - 4

このままPDFを作成しても、AcrobatはA4とは認識してくれません。
PowerPoint2010のPDF - 6

■ 後書き

前回の作業手順では、コンボボックスから「ユーザー設定」を選択して幅と高さを入力しましたが、実際にはコンボボックスで選択しなくても、幅と高さを変えた時点で自動的に「ユーザー設定」に変わるので、それでも良かったですね。

しっかし、PowerPointにも困ったものです。ExcelとWordが入っていないパソコンはまず存在しませんが、PowerPointについては普通にあり得ます。

PowerPoint Viewer を使うって手もありましたが、インストールも手間だし、そもそもPowerPoint Viewer って2018年に廃止されちゃいましたし・・・

まぁ、パソコンにAcrobatが入ってなければ同じ話ですがね。

投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end ---
スポンサードリンク

PageTop

PowerPoint2010でPDFの用紙サイズを設定する!(成功)

■ 前提と下準備

今回は、PowerPoint2010で作成した資料をA4サイズのPDFに変換する方法を書いていきます。

ただPDF変換するだけなら簡単なのですが、印刷時にA4サイズにしようと思うと、ちょっと工夫が必要です。

まず、「デザイン」を選択して「ページ設定」をクリック。ページ設定画面が表示されるので、スライドのサイズ指定を「ユーザー設定」。幅を29.7。高さを21と入力して「OK」をクリックします。
PowerPoint2010のPDF - 1

■ PDF変換

PDF変換については、PowerPointの標準機能を使用します。

「ファイル」-「保存と送信」-「PDF/XPSドキュメントの作成」-「PDF/XPSの作成」をクリック。
PowerPoint2010のPDF - 2

「発行」をクリック。
PowerPoint2010のPDF - 3

これで完了です。PDFまで完成すれば、後はAcrobatの操作なので省略します。

■ 後書き

先日、PowerPointで資料を作ったのですが、これを他のパソコンで表示しようとした時に、PowerPointがインストールされていないので使えないという事態になりました。結局、PDFに変換して対応したのですが、今度は変換したPDFを印刷しようとすると、用意サイズエラーが発生して上手く行きません。

いや、Acrobatの設定を変えれば良いだけの話ですが、パソコンに詳しくない人に配布するとなると、途中で操作が入るのは避けたい所です。

ってことで、今回のお話に繋がる訳です。

・・・まさか、サイズを自分で入力しないといけないとは思いませんでしたけどね。

次回は、失敗事例をご紹介します。

投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end ---
スポンサードリンク

PageTop

Excelでセル結合無しで範囲内に中央にする

■ 文字位置の調整

Excelで文字をセルの中央にしたい場合、単純に縦横の位置を中央にすれば良いのですが、書式によっては複数のセルに跨るケースが多いと思います(Excel方眼紙とか、ね)。

これまでは、セルを結合して中央に寄せていました。

範囲を選択して、「セルを結合して中央揃え」をクリック。
Excelで範囲内で中央 - 2

無事に、中央に寄りました。
Excelで範囲内で中央 - 1

これしか無いと思っていたのですが、そうでもないようです。

■ 選択範囲内で中央

さっきと同じで、中央寄せしたい範囲を選択します。セルの書式設定から、「配置」タブを表示して、横位置を「選択範囲内で中央」にします。
Excelで範囲内で中央 - 3

すると、これこの通り。セル結合がされていないのに、文字が中央に寄りました。
Excelで範囲内で中央 - 4

セル結合を多用した表って、再利用したり、コピペしようとするとエラーになったりと不自由なので、これは良い手を知りました。

残念なのは、これが機能するのは横位置だけで、縦についてはダメみたいです。縦も出来れば良いんですけどね。

■ 後書き

まぁ、これ以外の方法として、文字自体を工夫するってのもありますかね。

前後に半角スペースを上手くいれて、それらしく見せると。フォントも「MSゴシック」「MS明朝」のように、サイズが一定になるものを上手く使えば、そこそこ良い感じに仕上がります。

ただ、私は使いません。時々、人の作った資料で見かけるのですが、それをメンテナンスすることになった時の編集が大変。自分が嫌なことは、人にもしないということです。

・・・まぁ、そもそもExcelってそういうものじゃないっていわれると困りますけどね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

Excelの複数のシートを両面印刷する方法(出来た!)

■ ブック全体を印刷

Excelで、複数のシートにまたがって作成した資料を両面印刷したいケースがあります。

例えば、1枚目を表紙、2枚目以降に詳細、最後のページに変更履歴、そんな作り方をした場合、書式がバラバラになるのでシートを分けて作成することがあります。

サンプルとして、2つのシートを作ってみました。
Excelの両面印刷 - 1

Excelの両面印刷 - 2

これをまとめて印刷する場合、印刷対象を変更することで可能ではあります。

印刷したいシートを全て選択(Shiftキー or Ctrlキーを押しながらシート見出しをクリック)して、印刷対象を「選択したシート」とする方法が一つ。
Excelの両面印刷 - 3

Excelの両面印刷 - 4

もう一つは、印刷対象を「ブック全体」にするですね。
Excelの両面印刷 - 5

Excelの両面印刷 - 6

ここまでは簡単なのですが、やりたいのは両面印刷なのです。

■ 両面印刷

上記の設定方法でブック全体を印刷することは可能になるのですが、印刷時に両面印刷を指定しても、シートの切り替わる箇所で両面印刷が途切れてしまって、途中で片面印刷になってしまいます。

最近のExcelは、標準機能でPDFに出力出来るので、PDFに出力して、そこから両面印刷するようにしていました。これしか出来ないと思っていたのですが、そうでも無いようです。

一つのシートを表紙として、もう一つのシートに詳細を書いていくような資料を作っていたのです。これを印刷する時に、表紙のシートは片面印刷にして、詳細を書いたシートは両面印刷にしたいと思って、前述の方法で印刷したら、何事もなく両面印刷されてしまいました。

・・・流石に、ここで気がつきました。

■ 両面印刷

そもそも、Excelの印刷設定ってシートごとに設定する性質があって、両面印刷についても同じです。

なので、印刷したいシートを選択して印刷対象を「両面印刷」にする。これを両面印刷したい全てのシートに設定してから、ブック全体を印刷すれば、複数のシートであっても途切れずに両面印刷が可能です。

印刷画面のプレビューでページを切り替えていくと、シートが変わったタイミングで印刷設定も変わるので、そこで設定しても良いかと思います。

サンプルだと、こうですね。印刷対象をブック全体にして両面印刷にします。
Excelの両面印刷 - 7

印刷プレビューで2ページ目(2シート目)を表示すると、片面印刷に戻っています。
Excelの両面印刷 - 8

ここで、両面印刷にすれば良いということです。
Excelの両面印刷 - 9

■ 後書き

なお、結果はこうなりました。
Excelの両面印刷 - 10

実のところ、Excelは使いこなしている方だと自分では思っていたのですが、こんな基本的なレベルで躓いているようでは話になりませんね。

しっかりと勉強すれば、もっと色々なことが出来そうなのですが、流石に十数年もExcelを使っていると、日常的に必要な操作については特に困ることもなく実現できているので、その気になりません。

今回の両面印刷についても、PDFに出力してから印刷する方法でも時間のロスって殆ど無い。シート数が多い場合は、早いこともあったりするので、これまた何とも・・・

なんだかなぁ。ですよ。

投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

ExcelVBAのコーディング規約を作ってみた No.9 処理制限

■ 制限

前回の最後で書いた通り、規約としては前回までで終わっています。また、最初に書いた通り、あまり厳しい規約を作るつもりもないのですが、許してしまうと保守性が大幅に下がるだろう書き方については制限したいところです。

今回、そのあたりのことを書いて最終回としたいと思います。

■ プロシージャの使用方法

プロシージャを呼び出し時、単純にプロシージャ名を書くだけでもエラーにはなりません。なりませんが、CALLステートメントを記述するようにします。

CALL getDateTime()


書き方にもよるのでしょうが、突然プロシージャ名だけがポツンと現れると混乱すると思います。誤解を招かないためにも、きちんと書きましょうってことです。もちろん、戻り値がある場合はCALLは無くてよいですけどね。

・・・これ、呼び出す時のコメントできちんと書いておけば良いとも思いますけどね。

■ End

Endステートメントは、実行した時点でVBAを強制終了する強力な処理です。

問題なのは、Exitステートメントのように呼び出し元に戻るのでは無く「処理自体が終了する」という点です。処理の開始点からプロシージャを実行、そこから関数を呼び出し、さらに関数を呼び出し、この時点でEndステートメント実行とかされると最悪です。

良くあるのが、意図しない状況になった時にEndステートメントを発行するというものですが、そうでは無く、きちんとエラートラップするのが正しい方法だと思います。

もっとも、オブジェクト系のエラーのようにEndステートメントが必要な場合もあるでしょうから、原則論でしかないんですけどね。

■ 後書き

ExcelVBAのコーディング規約、どうだったでしょうか?

時々、情報システム部ではない部門でVBAで作ったシステムが保守でき無くて困っているという話を聞きます。彼らの本職はシステムではないので、どうしても奇妙な作り方になってしまいますが、それに対して愚痴を言ってしまうと「お前たちが何もしてくれないからだ」と反論が返ってきそうです。

現場の動きを止めるのが難しいなら、良い方向に誘導するのも一つの手ではないでしょうか。忙しくて現場対応ができなくても、コーディング規約なんかを整備して開発時の参考にして欲しいと依頼することは可能だと思います。

世界の汚いソースが、少しでも綺麗になることを祈ります。

記事の一覧

ExcelVBAのコーディング規約を作ってみた No.1 始まり

ExcelVBAのコーディング規約を作ってみた No.2 規約の基本構想

ExcelVBAのコーディング規約を作ってみた No.3 規約作成

ExcelVBAのコーディング規約を作ってみた No.4 変数

ExcelVBAのコーディング規約を作ってみた No.5 変数の命名規約

ExcelVBAのコーディング規約を作ってみた No.6 定数

ExcelVBAのコーディング規約を作ってみた No.7 プロシージャ

ExcelVBAのコーディング規約を作ってみた No.8 シート、セル

ExcelVBAのコーディング規約を作ってみた No.9 処理制限



投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop