
こんにちは。
VBにて指定した通りにExcelの列幅が設定されず、困っております。
【現象】
VisualBasicから、Excelを起動し新規ブックを生成し、
ワークシートを指定して全列幅を「1.75ポイント」で
設定したいのですが、どうしても
列幅が「1.83ポイント」で設定されてしまいます。
VB側ソースでは、次のように書いております。
ワークシート(Index).Cells.ColumnWidth = 1.75
VB側で指定した列幅がExcel側で不都合というケースはあるのでしょうか..。
VB側で列幅を指定したにも拘らず、
Excel側で勝手に列幅を調整してしまう事はあるのでしょうか..?
【実行環境】
・Visual Basic 6.0
・Excel Ver2002
かなり急いでおります。
お忙しい中、恐縮ではございますが、
何かご存知の方、アドバイス等、頂戴できますと幸いです。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
こちら参考にはなるかと。
「ColumnWidth は設定どおり設定されるわけではない件」
http://yamav102.cocolog-nifty.com/blog/2012/07/c …
参考URL:http://yamav102.cocolog-nifty.com/blog/2012/07/c …
No.4
- 回答日時:
こんにちは。
Wendy02です。>現行仕様が、列幅を指定して改頁位置を決めているのです。
>その為、列幅が既存と同じく「1.75」になりませんと改頁位置がずれ、見た目が大きく変わってしまいます。
(自動)改ページの位置は、行数に対してであって、列幅とは、直接関係ないはずです。
分かりきっている話だとは思いますが、自動改ページ位置は、物理的行数の限界があるものの、上下のマージン+ヘッダー・フッターで、決定されます。印刷幅に関しては、マージンで処理します。右側は論理位置で、左側が物理位置です。
だから、自動改ページ位置のズレは、左のマージンであわせるというのが一般的です。左マージンを狭くするしかありません。(手動改ページについては、ここでは触れていません。)
右は、ある程度しかできません。位置が狂うのは、おそらくギリギリの限界にあわせているのだろうと思います。ある程度の余裕をみていないと、ちょっとしたことで、位置が狂ってしまうわけです。
それから、現在、Excelと、プリンタへの印刷できるようになっているプリンタへの出力なら可能なのですが、手元にないものですと、経験的にかなり難しいです。もし、そうなら、VB側から、試し刷りさせて、設定を調整させるようにしないと、無理かもしれませんね。
それと、今まで、私の試した結果ですと、フォント・サイズが、10~12ですと、だいたいデフォルト幅の設定に収まりますが、それ以外ですとズレるようです。(高さは別です。だから、必ずしも、規定の改行位置には収まらないこともあります。) ただし、私が試しているのは、MS ゴシックです。プロポーショナルでは試したことはありません。
No.3
- 回答日時:
こんにちは。
KenKen_SP です。原因は他の方が回答されているので、提案です。
あなたが環境設定した Excel ファイルをテンプレートとして、Exe と同一
のフォルダまたはサブフォルダ等に用意し、出力時にはそのファイルをコピー
して開き、データを書き込みます。
この仕様であれば、列幅等々や罫線、フォントなどの環境設定を VB 側から
行う必要はありません。VB ではデータを流し込みことしかしません。あるいは
最小限で済ませます。
予めセル幅 1.75 に設定したものを開くので、異なる PC 環境の影響を受け
難いと思いますが...どうでしょう?
VB 側のコード量も減らせます。結果、時間がかかる環境設定等の処理を省略
できる分、Exe の出力処理の実行速度向上も期待できるかも?
No.2
- 回答日時:
こんにちは。
確認しました。
それは、Excelのスタイルで指定しているデフォルト・フォントのサイズとのバランスの問題だから、1.83pt が、1.75pt に設定させるというのは、出来る場合と、そうでない場合があります。デフォルト・フォントのサイズを換えれば、できるようになるはずです。
こちらが試したものでは、デフォルト・フォントのサイズが9 にして試すと、1.83(16 pixel) に丸められます。
実際、ピクセルに対するポイントであって、ピクセル単位にしか、列幅は動かないはずです。だから、その設定が出来ない場合は、そのフォントのサイズに関しては、列幅のポイントは、それ以上は出来ません。また、それでExcelに実質的な不都合はないはずですし、ワークシートのセルのサイズは、あまり厳密なものがありません。
この回答への補足
ご丁寧なご回答を有難うございます。
補足させていただきますと、
既存の「VBからExcel出力する」システムへ手を加えています。
現行仕様が、列幅を指定して改頁位置を決めているのです。
(一部の列は更に別の幅で指定し直して調整しています。)
その為、列幅が既存と同じく「1.75」になりませんと
改頁位置がずれ、見た目が大きく変わってしまいます。
そうなると、基本設計(概要設計)から見直す必要も出かねず、
どうしたものか..。
不思議なのは、
現行システムでの実行結果(列幅1.75)よりも
デバッグ結果(列幅1.83)のほうが横幅が狭く見えるんです。
No.1
- 回答日時:
再現できません。
とりあえずメモだけ。http://support.microsoft.com/kb/214123
http://hp.vector.co.jp/authors/VA016119/sizemmqa …
http://msdn2.microsoft.com/ja-jp/library/microso …
ColumnWidthは標準フォントでの【文字数】。プロポーショナルフォントの場合「0」という文字の横幅が1文字の基準。
http://msdn2.microsoft.com/ja-jp/library/microso …
Widthはポイント数を知ることが出来るが、ReadOnlyなので値を代入できない。
>ピクセル単位に丸められるようです。1 ピクセルよりも細かく微調整することができません。
正確には8ピクセル単位。
ご回答いただき、有難うございます。
単位について、ポイントではなく「ピクセル」でした. . 。
大変失礼致しました。
貼り付けて下さったサイトはとても参考になりました。
お礼を申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelでこういうカードの作り方 枠線の引き方や、挿入画像の拡大縮小など わかる方教えてください、 2 2022/05/03 21:22
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) エクセルについて教えてください。 3 2023/03/24 08:34
- Excel(エクセル) Excel 区切り位置指定ウィザードの選択データプレビューで全列を指定する方法 お世話になります。E 1 2023/01/17 16:36
- Excel(エクセル) 複数シートのデータ統合とレイアウトの維持についてです 2 2022/10/18 21:11
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報