• ベストアンサー

Excelのセルをミリ設定する

VB.netで作成したアプリから、Excel(Excel2010)へ必要な情報を出力し、帳票を作成しているのですが、VB.netで作成したアプリから、セルの[列の幅]、[行の高さ]をミリ単位で設定し帳票を作成したいと考えております。セルの[列の幅]、[行の高さ]はピクセル単位での設定になると言われたのですが、ミリ単位で設定する事は可能なのでしょうか。 どなたか、分かる方がいらっしゃいましたら、ご教授お願い致します。 ※帳票イメージとしては添付画像のような帳票となります。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

答えになってないといわれそうだが、参考までに上げます。 この質問を見ていて、すっきりとご存じの方は教えてください。 (1)ワードで表を作り、下記WordVBAで表の第1列を3センチに設定して、印刷します。 物差しで測ると、3cmです。今までの経験でも、ワードではセンチ指定が使えると思っています。 Sub retuhaba() ActiveDocument.Tables(1).Columns(1).Width = Application.CentimetersToPoints(3) End Sub ワードの表にVBAでデータを持っていって、それの大きさを設定して、印刷する方法はあると思います。 ーー (2)一方この質問のエクセルでは Sub test03() Range("E7").RowHeight = Application.CentimetersToPoints(5#) End Sub などをやって印刷しても5cmにならない。これは今までも経験していて、判らないままです。 ーー http://www.excel-excel.com/tips/vba_205.html 行高さと列幅をセンチメートル単位にする : Excel(エクセル) などの記事があるのですが。 ーーー http://dukicco.hatenadiary.jp/entry/2015/03/03/225051 セルの行高さや列幅をmmで指定する ここらあたりの説明が真相のようだが、正確な変換は説明はあきらめている。 ー 文書やシートの左右の印刷の用紙の余白のセンチ指定は上記のような指定でもうまくゆくのかも。 -- シート素のものでなくて、シートに貼りつけた四角形でも同じだった。 ーー 邪道かもしれないが Sub  test05() w = Application.CentimetersToPoints(5#) * 50 / 46 ActiveSheet.Shapes.AddShape(msoShapeRectangle, 96.75, 31.5, w, 54.75). _ Select End Sub のように 50 / 46のような、実測から割り出した調節項を入れて印刷する手もあるかも。 これで5cm丁度に印刷した。

dbc47828
質問者

お礼

ご回答ありがとうございます。 テキストボックスの発想はなかったです。ありがとうございました。 50/46とあるのですが、これはどのように導けばよろしいのでしょうか。 よろしければご教授お願い致します。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

NO.4 です。 お礼の中の疑問について。 実際に私の使っているあるメーカーのある機種のプリンターで印刷したものが、SentimetersToPointsで5センチにするようVBAで設定しているにもかかわらず、ものさしで実測して、4.xxセンチにしかならなかったので、(縮小された)、逆数倍率だけ拡大したのですが、その係数です。邪道かもしれません。 エクセルのシートや図形の印刷のつど、バラバラに、この倍率が変わるとも思えないので、ずっと使えるのではと、思った次第。よければやってみて結果を教えてください。 なお、すべて、シートのセルや図形などの「外枠」のサイズにしか注目してません。 また縦幅の確認もおろそかになってます。

dbc47828
質問者

お礼

imogashiさん、ありがとうございます。 セルでやるより、テキストボックスで行った方が、ずれは小さいようなので、教えていただいたテキストボックスで行ってみようと思います。 いいヒントをいただきありがとうございました。

  • okgoo3
  • ベストアンサー率74% (20/27)
回答No.3

そこは、希望通りにレイアウト済みの Excel ファイルを 「帳票のテンプレート」 として使う場面じゃないの?

dbc47828
質問者

お礼

ご回答ありがとうございました。

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.2

No1です。追加です。 エクセル自体印刷時の寸法精度はそれほど正確ではありませんので、印刷結果が実際の寸法指示とずれることがあります。

  • kkkkkm
  • ベストアンサー率65% (1620/2460)
回答No.1

エクセルのヘルプより引用 ワークシートの列幅は、0 (ゼロ) ~ 255 の間で指定できます。この値は、標準フォントで書式設定されているセルに表示できる文字数を表します。既定の列幅は 8.43 文字です。列の幅を 0 (ゼロ) に設定すると、列は非表示になります。 行の高さは 0 (ゼロ) ~ 409 の間で指定できます。この値は、ポイント (1 ポイントは約 1/72 インチまたは約 0.035cm) で表される列の高さを示します。既定の行の高さは 12.75 ポイント (約 1/6 インチまたは約 0.4cm) です。行の高さを 0 (ゼロ) に設定すると、行は非表示になります。 ここまで 上記をもとに計算してください。

dbc47828
質問者

お礼

ご回答ありがとうございます。 また、追加でのご回答もありがとうございました。 このような考え方があったとは知らなかったので、とても参考になりました。 これを参考にロジックを作成してみたいと思います。 また何かありましたら、ご教授いただければと思います。

関連するQ&A

  • エクセルのセルについて基本的なことなのですが

     エクセルのセルのサイズについて教えてください。  セルの幅のサイズの単位?って何なんでしょうか?  新規作成したときは高さ13.50(18ピクセル)×幅8.38(72ピクセル)と出てくるのですが、単位がわかりません。センチでもインチでもなさそうだし、明らかに行幅が列幅より細いのに数字が大きく、でも( )内のピクセル単位だと小さくなってるし・・・。    なぜそれが必要なのかというと、例えば、率100%で印刷して出来上がりが5cm×5cmの枠を印刷したいと思った場合、エクセル上ではどの数値でどう作ればいいのか、ということがわからないんです。  どなたかわかる方、教えてください。

  • エクセルで、一つのセルの幅を5ミリにしたい

    いつもお世話になっています。 縦線を5ミリずつの等間隔で「 | | | | 」といった感じに、 ページ全体にうつしたいのですが、やり方がよくわかりません。 セルごとの幅を設定して、それにタテの罫線をつければいいとは思うのですが、 セルの幅を0.5にしても、明らかに5ミリより小さくなってしまいます。 多分単位が違うと思うのですが、数字を何と入力すればいいのか良いのかわかりません。 ご回答、宜しくお願いします。

  • エクセルのセル幅、高さ等について

     エクセルで書類を作成する際、セルの幅や高さの単位である 1ピクセルとは実寸では何ミリメートルに相当するのでしょうか? または、逆に実寸でセルを1cm幅(高さ)にするには何ピクセルに 設定すればいいのでしょうか?  これが分かれば罫線を使用する書類を作成するときに非常に助かる のですが、どなたか知っていれば教えてください。

  • エクセルのセルの幅につて

    エクセルのセルの幅を10センチ高さ3センチ ずつで印刷したいのですが、 セル→書式→幅にて調節すると、幅XX.XX(YYピクセル)と表示されますが、どんな単位なのでしょうか? どうやって、センチ・ミリ等設定すのでしょうか? 簡単に印刷時に設定できるのでしょうか?

  • EXCEL2000について

    セルの行・列の幅の表示単位をピクセルからミリに変更する方法ありますか?

  • EXCELの行、列の幅

    EXCEL2000を使用しています。 行や列の幅の単位はピクセルで表示されていますが、これを「mm」か「cm」単位で幅を変更することはできないのでしょうか?また、1ピクセルは何mmでしょうか? 分かる方教えてください。

  • セル幅の単位を変えられますか?

    ・エクセルのセルの幅と行の高さで質問です。 普通に97を使っている現在、数字の単位は「ポイント」らしいのですが、 これを「ミリ」なり「ピクセル」なりに変えることは可能でしょうか? ご回答よろしくお願いします。

  • Excelのセル幅、行の高さのピクセル

    Excelで、一つのセルが、正方形になるように、セル幅行の高さを整えようと、行、幅、共に同じピクセルにしました。確かに、プレビューでは、正方形になっているのですが、Excel画面だと、なんで正方形に見えないんでしょうか?また、同じピクセル数なのに、カッコの前の数字が違うのはなぜでしょうか? 例)列幅・・5.63(50ピクセル) 行の高さ・・37.50(50ピクセル)

  • ホームページビルダー「セルの高さ」設定に関して

    セルの設定でなぜこのようになるのか? そのわけを知りたくて質問いたしました。よろしくお願いいたします。 ------------------------------------------------- ビルダーで「2行1列」の表を作成(表の幅:600ピクセル、高さ:500ピクセル)に設定し、 どちらか一方の「セルの高さ」を<70ポイント>に設定します。 すると、70ポイントに設定したはずのセルの高さが、400ポイント以上の高さになってしまいます。 ただし、何らかの文字を入力してプレビューしてみますと、正常な高さで表示されます。 -------------------------------------------------- 「ページ編集」状態でのこの表示は、ビルダーの『仕様』と言うことになるのでしょうか? あるいは、ビルだーの設定変更でこの状態を修正することが出来るのでしょうか?

  • エクセルの行や列の幅をポイントしたときにでる数値は?

    エクセルの行や列の幅をポイントしたときに幅8.43(63ピクセル)や高さ12(16ピクセル)などとでるのですが、この単位はなんでしょうか?(ピクセルはわかります) センチ数ではありませんよね。 また、ページ設定の余白を指定するときの数値もこれと同じものでしょうか? このセルの幅や高さをセンチ数であらわす事はできますか?