こんにちは。
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も見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
excelの列幅高さが勝手に変わる(特定のPCだけ)
Excel(エクセル)
-
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのフォント変更(エクセルか...
-
VB.NET2005 TextBox 高さ(Heig...
-
コンボボックスの一部のアイテ...
-
コンボボックス内の文字サイズ変更
-
フォントの大きさ
-
wordで分数打とうとするとフォ...
-
ドロップダウンリストのフォン...
-
D3DXCreateFontとID3DXFont::Dr...
-
リストコンロールの一行だけを...
-
背景色のついでに文字色もかえ...
-
Macbook Word フォント色変更で...
-
C# のフォームデザイン&レイア...
-
JakaraPOI セル内部のフォント...
-
VBにて指定した通りにExcelの列...
-
エディットボックスのフォント...
-
WPFのフォントカラー変更につい...
-
VC++2010 ボタンなどのレイアウ...
-
グラフの交点の求め方(Excel)
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンボボックス内の文字サイズ変更
-
フォントの大きさ
-
VBAのフォント変更(エクセルか...
-
VB.NET2005 TextBox 高さ(Heig...
-
ドロップダウンリストのフォン...
-
リソースエディタでスタティッ...
-
エディットボックスのフォント...
-
コンボボックスの一部のアイテ...
-
プロポーショナルフォントの文...
-
文字色 エクリプス
-
リストコンロールの一行だけを...
-
VBA TEXTBOXテキストボックスの...
-
WPFのフォントカラー変更につい...
-
チェックボックスの箱のサイズ...
-
wordで分数打とうとするとフォ...
-
JakaraPOI セル内部のフォント...
-
static 文字が上に張り付いて・...
-
Eclipseで修正したファイル名の...
-
Macbook Word フォント色変更で...
-
Msgboxで使用するフォントの指...
おすすめ情報