
こんにちは。
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も見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
.NET上でエクセル上に罫線を引く
Visual Basic(VBA)
-
excelの列幅高さが勝手に変わる(特定のPCだけ)
Excel(エクセル)
-
VBからEXCELのセルの値を取得する方法
Visual Basic(VBA)
-
-
4
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
5
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックス内の文字サイズ変更
-
フォントの大きさ
-
VB.NET2005 TextBox 高さ(Heig...
-
VBAのフォント変更(エクセルか...
-
JakaraPOI セル内部のフォント...
-
ActiveReport中のフォントサイ...
-
Eclipseで修正したファイル名の...
-
コンボボックスの一部のアイテ...
-
MacのExcelで作成したドキュメ...
-
wordで分数打とうとするとフォ...
-
C# のフォームデザイン&レイア...
-
VB6でラベルの文字列に色を付け...
-
CreateFontのフォントの高さに...
-
PCによって変わってしまう画面...
-
VBにて指定した通りにExcelの列...
-
エクセルのシート名のフォント...
-
ワードでコントロールツールボ...
-
プロポーショナルフォントの文...
-
文字色 エクリプス
-
エディットの文字サイズ変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンボボックス内の文字サイズ変更
-
フォントの大きさ
-
VBAのフォント変更(エクセルか...
-
VB.NET2005 TextBox 高さ(Heig...
-
ドロップダウンリストのフォン...
-
コンボボックスの一部のアイテ...
-
エディットボックスのフォント...
-
VBA TEXTBOXテキストボックスの...
-
プロポーショナルフォントの文...
-
Eclipseで修正したファイル名の...
-
リソースエディタでスタティッ...
-
JakaraPOI セル内部のフォント...
-
VBにて指定した通りにExcelの列...
-
static 文字が上に張り付いて・...
-
カレンダーコントロールとサイ...
-
チェックボックスの箱のサイズ...
-
Msgboxで使用するフォントの指...
-
WPFのフォントカラー変更につい...
-
Macbook Word フォント色変更で...
-
文字色 エクリプス
おすすめ情報