VSを利用してVBでエクセル出力データを作成しています。
エクセル出力される文字を太字にしたいのですが、どのような処理?になりますか?
今は
S = 2
T = 3
Str = "A" + S.ToString() + ":AO" + T.ToString()
sheet.Range(Str).Merge()
sheet.Cells(Str).Value = "タイトル"
sheet.Range(Str).Style.Font.FontSize = 16
sheet.Range(Str).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center
sheet.Range(Str).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center
と入れていて、「タイトル」部分を太文字でエクセルに表示されるようにしたいです。
VB初心者(むしろパソコン初心者)なのでもし質問自体がおかしかったらすみません・・
それと追加で作成日を入れるところに
S = 1
T = 1
Str = "AF" + S.ToString() + ":AO" + T.ToString()
sheet.Range(Str).Merge()
sheet.Cells(Str).Value = Now.ToString("yyyy年MM月dd日")
sheet.Range(Str).Style.Font.FontSize = 10
sheet.Range(Str).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center
sheet.Range(Str).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center
としているのですが、なぜかエクセル上では2020/5/20という表示になってしまいます;
「2020年5月20日」という風に出てほしいのですが・・・;
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
VBレスキュー(花ちゃん)
http://hanatyan.sakura.ne.jp/
1.Excel の起動及び終了方法
2.Excelのプロセスが正常に終了しない理由
http://hanatyan.sakura.ne.jp/vb2005/vb2013excel0 …
は一読されてた方が宜しいかも。
どれ程VBAとの違い(手間)があるのかわかると思いますよ。(最新版のVBなら勝手にやってくれるのかは私は定かではないですが、過去の経験として)
No.6
- 回答日時:
ちなみにこんな書き方も。
S = 2
T = 3
Str = String.Format("A{0}:AO{1}", S, T)
でもWordでExcelを操作する事が出来る位のスキルは必要かもですよ。
VBからだとそれ以上に手間が必要になります。(最新版は楽になったのかは使い切れていないので不明ですが、過去にやってた時はやり始めは大変でした。)
No.5
- 回答日時:
>Now.ToString("yyyy年MM月dd日")
これが目的の表示なのでしょ?
取り敢えず検証用にこちらで勝手に作成したものですので部分的に参考になれば幸いです。
一応Excelの参照設定をした上での事ですけど。
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim xlapp As New Excel.Application
Dim xlwb As Excel.Workbook
Dim xlws As Excel.Worksheet
Dim xlrng As Excel.Range
xlapp.Visible = True
xlwb = xlapp.Workbooks.Add()
xlws = xlwb.Worksheets(1)
xlrng = xlws.Range("A1")
xlrng.Value = Date.Today
xlrng.NumberFormatLocal = "yyyy年MM月dd日"
End Sub
かなり手抜きですので何ですが、Rangeもキチンと宣言しないとVBAみたいに楽は出来ないかと。(解放する際に解放されずタスクマネージャーに残る危険も)
ところで
>Cells(Str)
って何?
ここはRange(Str)ではないかな?
No.4
- 回答日時:
No3です
>NumberFormatLocalはIXLCellsのメンバーではありませんのエラーメッセージです。
確認できる環境が無いので、申し訳ありませんでした。
では、NumberFormat プロパティの方ではいかがでしょうか?
No.3
- 回答日時:
No2です
>すがそのまま貼り付けてもエラーになってしまいます・・
VBで記述なさっているのですから、言語の構成くらいはご存知でしょう。
オブジェクトを正しく指定しなければ動作するはずはありません。
(若干異なるだけで、言語の仕組みは同じはずです)
セルの書式を設定するのですから、セルの文字太さを設定するのと同様です。
(No2に書式設定に関しての参考サイトも挙げておいたはずですが・・)
sheet.Cells(Str).Value = Now.ToString("yyyy年MM月dd日")
sheet.Cells(Str).NumberFormatLocal = "[$-F800]dddd, mmmm dd, yyyy"
とかではいかがでしょうか?
書式は、「yyyy"年"m"月"d"日"」的なものでもOKなはずです。
(ダブルクォ―テーションが面倒ですが)
このVBは前任者の方が作ったのもで、私はほんわかしかわかっていません(すみません・・)
S = 1
T = 1
Str = "AF" + S.ToString() + ":AO" + T.ToString()
sheet.Range(Str).Merge()
sheet.Cells(Str).Value = Now.ToString("yyyy年MM月dd日")
sheet.Cells(Str).NumberFormatLocal = "[$-F800]dddd, mmmm dd, yyyy"
sheet.Range(Str).Style.Font.FontSize = 10
sheet.Range(Str).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center
sheet.Range(Str).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center
にすると、ビルドエラーになってしまいます。
NumberFormatLocalはIXLCellsのメンバーではありませんのエラーメッセージです。
No2でいただいたリンク先の内容が理解できない場合は、エクセルについて勉強すればよいのでしょうか?;
No.2
- 回答日時:
こんにちは
エクセルを媒体にしようとしているのですから、エクセルについて知らなくてはうまくいかないこともいろいろ出てくるでしょう。
以下ご参考までに。
・文字太さの設定。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
・セル書式の設定
https://docs.microsoft.com/ja-jp/office/vba/api/ …
https://docs.microsoft.com/ja-jp/office/vba/api/ …
リンクを見ながらやってみて、
sheet.Range(Str).Style.Font.Bold = True
を入れたら太字になりました!ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
.NET上でエクセル上に罫線を引く
Visual Basic(VBA)
-
【VB.NET】Excelの最終行までの取得方法
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 条件付き書式で空欄は適用...
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
FORMAT関数で値が変わる
-
チェックボックスのある行を非...
-
スリープ状態とロック状態の違...
-
webページをリンクまで含めて保...
-
DHCP Clientサービスが勝手に停...
-
PCケーブル類が外れない様に...
-
Apache起動エラー
-
「デジカメde!!同時プリント」...
-
拠点間WANなどでの『専用線...
-
UPS(無停電電源)のコンセント...
-
スイッチングハブのIPアドレス
-
blackjumbodogでメールサーバー...
-
不明配線の捜索ツール
-
静電容量測定法について質問で...
-
勝手にアカウントロックアウト...
-
IISが落ちた場合の動きについて
-
ethtoolでリンク速度変更できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
チェックボックスのある行を非...
-
クリスタルレポートの改ページ...
-
POIを使った書式設定
-
マイナス記号を▲で表す方法
-
grep で複数条件を指定
-
spread6.0(セル連結)
-
VBAの繰り返し処理について教え...
-
VBA 条件付き書式で空欄は適用...
-
VBでエクセル出力の文字を太字...
-
時間表示で0:48:17と入力すると...
-
携帯サイトのPHPで<div style>...
-
MSAccessでODBCを介してDB接続...
-
C#にて、他言語にローカライズ...
-
VBA コンボボックスの表示(日...
-
syntax error, unexpected $end...
-
EXCELのマクロで別のファイルの...
-
EXCEL 和暦入力
-
JAVAのCalendarについて質問です
おすすめ情報
日付のところは、マクロの自動記録というので、
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("A1").Select
Selection.NumberFormatLocal = "[$-F800]dddd, mmmm dd, yyyy"
End Sub
となったので、すがそのまま貼り付けてもエラーになってしまいます・・
sheet.Cells(Str).Value = Now.ToString("yyyy年MM月dd日")
ここを何かに変更するのかな?と思うのですがVBAをVBに変換?する?ことって出来るのでしょうか??