• ベストアンサー

EXCELのプロパティ変更

 こんにちわ。VBでEXCELを起動して、データを転送してグラフを書くところまで、皆さんのお力を借りて辿り着きました。その度は大変お世話になりました。それで、今回の問題は、そのグラフのプロパティも変更したい、、。Withとかを使って??実際やりたいのはEXCELの機能で目盛の書式設定、最大値最小値の変更をVBの変数を使って可変にしようかなと考えています。作り方に問題があるとは思いますけど、なんかデータとかが可変なんでグラフに偏りが出てくる為、そんな処理をしなければならないような感じなんですが、どうぞ宜しくお願いします。また説明下手ですね、、。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.9

( ̄ー ̄)ニヤリ

HUKAHIRE
質問者

お礼

♪(⌒∇⌒)ノ""

その他の回答 (8)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.8

>  Set MyChart = xlSheet.ChartObjects("グラフ 1") この行の次に   MyChart.Activate を追加してみてください。

HUKAHIRE
質問者

お礼

 失礼しました。回答を頂いてスグ試したところ実現することができて、お礼をするのをすっかり忘れていました。ありがとうございました。なんだか、またお世話になる気もしますが、その時はまたどうかどうか宜しくお願いしまッす。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.7

明日ですね。わかりました。今日はこれで最後の書込みにしておきます。 まだ 仕事中ですので、掲示はみております。 新たな質問は別スレッドにしてくださいね。あとで検索する時、一つのスレッドには一つの質問の方が、あとで検索しやすいので・・・・ やりたいことはピクチャボックスに描画していき、 Call SavePicure(Picture1.Image, "C:\Test.bmp") っていうような要領で実現可能と思われます。 別質問をとして発言を行ったなら、その時に詳しく述べます。

HUKAHIRE
質問者

お礼

 大変迷惑かけてます。まだまだ常識がないですね、、。これから精進いたします。一応、これがソースの一部なんですけど、、。 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim strFileNAM  As String Dim strExcelSheet As String Dim MyChart As ChartObject 'ブックのシート名 strExcelSheet = "Sheet1" Set xlApp = New Excel.Application Set xlBook = GetObject(strExcelFile, "Excel.Sheet") Set xlSheet = xlBook.Worksheets("Sheet1") For i = 1 To intCnt - 1 xlSheet.Cells(0 + i, 11).Value = dblPastCalData(i) Next i xlSheet.Cells(1, 3).Value = dblJogen xlSheet.Cells(2, 7).Value = dblKagen xlSheet.Cells(1, 15).Value = dblCalData '絶対値を計算 dblMemoriVAL = dblABSMax(dblPastCalData, intCnt - 1) Set MyChart = xlSheet.ChartObjects("グラフ 1") With MyChart.Chart .Axes(xlValue).MaximumScale = dblMemoriVAL .Axes(xlValue).MinimumScale = -(dblMemoriVAL) End With xlSheet.Parent.Windows(1).Visible = True 'グラフをコピー xlApp.Worksheets(1).ChartObjects("グラフ 1").Copy 'クリップボードから貼り付け frmComGraph.Picture1.Picture = Clipboard.GetData 'ファイル名を指定 strFileNAM = strTstKoMoku & lngNO & strCheck & ".bmp" frmComGraph.Picture1.Refresh Call SavePicture(frmComGraph.Picture1.Image, "C:\Documents and Settings\Graph\デスクトップ\GraphVB\" + strFileNAM)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.6

エクセルのブックを開く部分のプログラムを見せてください。 おそらく ブックオブジェクトの指定がないからのような気がします。

HUKAHIRE
質問者

お礼

 ちょっと今、手元にソ-スがないので明日見てもらいたいですけど、、。また新たな問題がありましてVBで「Ω」こんな絵を書いて丸の中と脇に変数を表示、そしてそれを画像ファイルとして保存。また説明不足だとは思いますけど、そんなコンポーネントみたいなものってありますか?なんて次から次に分からないことだらけなんでしょう、、。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.5

エクセルのグラフの操作コードを記述してるのは、エクセルVBAに記述してますか? それともVB側? もしVB側であればActiveSheetの前に、ブックやエクセルアプリケーションを指定しなければなりませんよ。 とりあえず、さっきのコードはどちら側に記述したのでしょうか?

HUKAHIRE
質問者

お礼

VB側です。EXCEL側にはなるだけ記述はしたくないのです。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.4

#2の発言で できませんでしたか?

参考URL:
http://www2s.biglobe.ne.jp/~iryo/vba/VBA13.html
HUKAHIRE
質問者

お礼

 んー、、なんだか出来ないんですよね。EXCELの不具合かと、、ってヘルプで見たんですけど、、でもそれってEXCEL4.0の話かも、、。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

ごめんなさい xlCategoryをどのように使用しているかがわかりません。 あと一度の書込みに、お礼と補足をまとめた方がいいですよ。 いざ何か書きたい時に、書けなくなってしまいますよ。

HUKAHIRE
質問者

お礼

 そうですね、私も追記が出来なくてたまに困っていました。私のしたかったことは ActiveSheet.ChartObjects("グラフ 1").Activate With ActiveChart.Axes(xlCategory)   .MinimumScale = 1  '最小   .MaximumScale = 9  '最大   .MajorUnit = 4   '目盛間隔 End With という処理でした、、。またまた言葉不足でスミマセン。これって、やっぱり出来ないものなんですか?

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

あけましておめでとうございます。 ごめんなさい。 以前に回答したつもりが、どうやら決定ボタンを押し忘れていたようで、回答されていないことに今気が付きました。 手後れでしょうか? ActiveSheet.ChartObjects("グラフ 1").Activate With ActiveChart.Axes(xlValue)   .MinimumScale = 1  '最小   .MaximumScale = 9  '最大   .MajorUnit = 4   '目盛間隔 End With

HUKAHIRE
質問者

お礼

 あけましておめでとうございます。なんだか、あきらめかけていたところです、、。TAGOSAKU7さんの返事で、またやる気が出てきました!

HUKAHIRE
質問者

補足

 いろいろ調べたところ xlCategoryの方を変えられれば私のしたいことは実現できそうなんです。でもEXCElの不具合?で出来なそうなんですが、これって出来るんですかね??

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

ChartAreaだったかな?未検証です。 その中にいろいろ情報が入ってると思ったけど・・・ ちがったら、マクロを記録して行いたい処理を記憶させて、コードを見たらなんとなくわかると思いますが・・・

HUKAHIRE
質問者

お礼

 あひさしぶりです。毎度お世話になっているHUKAHIREです。こうも寒いと温かいものが恋しくなりますね。フカヒレスープ飲みたいなー。

HUKAHIRE
質問者

補足

 すみません、ChratAreaの使い方を教えて下さい。ちなみにマクロは教えてもらってちょっと試してみたんですけど、意味不明でした。、、、私には、、。

関連するQ&A