ここから本文です

解決済みの質問

VisualBasic2008を使ってExcel2003を制御するプログラムを作っています。

makochan0711さん

VisualBasic2008を使ってExcel2003を制御するプログラムを作っています。

具体的には、特定のセル範囲に対して「セルの書式設定」-「配置」で「文字の位置」のところを「横位置」を中央、「縦位置」を下詰めにしたいと思っています。
Excelでマクロを作って確認してみたところ、

Range("B2:G17").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With

となりました。これをVisualBasic2008で表現したいのですが、どのようにすればよいのでしょうか。特に「HorizontalAlignment」と「xlCenter」、「VerticalAlignment」と「xlBottom」の部分をどうコーディングすればよいのかわからないのですが、ご存知の方教えていただけないでしょうか。

作成中のプログラムを一部抜粋したのが以下になります。
コメントで「特定のセル範囲を選択して、セルの書式設定」のところに挿入したいとおもっています。

'Excel起動
oXls = New Microsoft.Office.Interop.Excel.Application()
oXls.Visible = True
wdXls = oXls.Workbooks.Open("C:\test\test.xls")


'特定のセル範囲を選択して、セルの書式設定


'保存
wdXls.SaveAs(Filename:=hozon)
wdXls.Close()

'メモリ開放
System.Runtime.InteropServices.Marshal.ReleaseComObject(wdXls)
wdXls = Nothing

'Excel終了
oXls.Quit()

'メモリ開放
System.Runtime.InteropServices.Marshal.ReleaseComObject(oXls)
oXls = Nothing

何卒よろしくお願いします。

違反報告

ベストアンサーに選ばれた回答

ttkai00さん

VBA ではなくて、VB2008 から PIA を使ったアクセスですよね。

でしたら、Constants 列挙型に定義されている値を使う方がよいです。

http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.ex...

Constants.xlCenter とか Constants.xlBottom とか。

また、本題とは異なりますが、

oXls.Workbooks.Open("C:\test\test.xls")

ここで、Workbooks の暗黙の参照が残ってしまいます。Workbooks も変数に入れて ReleaseComObject してあげてください。

質問した人からのコメント

  • ありがとうございました。大変勉強になりました。
  • コメント日時:2010/3/10 11:47:17

グレード

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 5点(5点満点中)1人が役に立つと評価しています。

ベストアンサー以外の回答

(2件中1〜2件)

並べ替え:回答日時の
新しい順
古い順

 

porihikoletskunさん

こんにちは。
Range("B2:G17").Select
With Selection

With wdXls.sheets(1).Range("B2:G17")
とする。
「参照設定」が出来るのでしたら、xlBottomは、自動変換できますが、
その方法を使わない場合、エクセルでオブジェクトブラウザーで、検索したら、設定の数値が表示しますので、
そのまま使ってもいいです。

adsrfgfhyさん

組み込み定数一覧
http://park18.wakwak.com/~achiwa/magic/tips/08ox/002.html



xlBottom -4107

とありますから

.VerticalAlignment = xlBottom

.VerticalAlignment = -4107
となるのでは?

あなたにおすすめの解決済みの質問

VisualBasic2008でのファイルの保存について…VisualBasic2008でプロジェクトを作成したのですが、それを保存するといつも拡張子が.vbや、.resxにしかなりません。そのために毎回そのプロジェクトを実行するためにVi
VisualBasic2008を使ってWord2003のドキュメントを制御したいです。。やりたいことは、Wordで作成した表を段落記号で区切って解除したいのです。 Wordのマクロを使えば簡単にできるのはわかるのですが、現在VisualBa
VBA セルの挿入&結合B列の8列目からデータが入力されています。一列を2列に分割して、ある部分は結合してある部分は2段のままにしたいのです。詳細な説明までは省きますが、実際にソースを作成したら変な動きになってしまい...
PR
知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

ただいまの回答者

18時18分現在

3258
人が回答!!

1時間以内に5,846件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する