先程下記の質問をしてマクロでの実行方法をご教授いただいた者です。解決してしまったのですが、参考までに、VBAでの実行方法もむずかしくないようなら教えていただけないでしょうか・・・ (^^;

----ここから先程の質問----
access2000ですが、書籍についてきたものをちょっとだけ手を加えたいのです。TOPメニュー(フォーム)にボタンを追加して、それをクリックしたときに特定の「更新クエリ」を実行する簡単な設定方法を教えていただけないでしょうか。このクエリはオブジェクト/クエリ/のところに最初から作成済みのクエリです。

#accessの知識はほとんどありません。
#VBAもいじったことがありません。
#TOPメニューへのボタンの追加はできます。

A 回答 (1件)

どもども田吾作7です。



手順1.フォームを開く
手順2.コマンドボタンを作成する(ウィザードが立ち上がる時はキャンセルしちゃってください)
手順3.プロパティウィンドからコマンドボタンのクリック時に、「イベントプロシージャ」を選択
手順4.プロパティウィンドからコマンドボタンのクリック時の[...]を選択。
手順5.プログラムを記述
Private Sub コマンド0_Click()
DoCmd.OpenQuery "(更新クエリの名前)"
End Sub

このプログラムは、あくまでマクロをVBAに変換しただけのコードを実行させるだけです。
本当はSQL文を実行するなどの手順を書いた方がいいのかな?
もしそうだとするなら、クエリーの構造がわかってないと説明が出来ないので、ここでは書きません。

あとこの手の質問ならVBカテゴリの掲示板もあるのでそちらに投稿した方が、早いレスが望めるかも?
http://oshiete1.goo.ne.jp/oshiete.php3?c=257
ぼくも上記のアドレスの方を普段は見てて、ここのカテゴリは偶然みたものですから・・・

でわでわ

参考URL:http://oshiete1.goo.ne.jp/oshiete.php3?c=257
    • good
    • 0
この回答へのお礼

田吾作7様、2度にわたり回答ありがとうございました。
おかげ様で無事、目的達成できました。

#なんとなくVBAのこともちょっとだけわかったような気分になった土曜日となりました。 (^O^)

お礼日時:2001/07/14 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qアクションクエリが実行できない

Windows Vista で Office2007を使っております。Accessで、テーブル作成クエリを試しましたが、実行しようとすると「無効モードのため、アクションまたは、イベントがブロックされました」という文章が、ステータスバーに出てしまい、実行できません。おそらく、アクションクエリ全般が実行できないモードになっていると思います。この設定は、どこから解除していいのかわからないのですが、ご存知の方がおられましたら、アドバイスをお願いします。

Aベストアンサー

Access データベースを保護する
http://office.microsoft.com/ja-jp/access/HA012301871041.aspx

Access 2007 でファイルを開くとセキュリティの警告が表示される場合の対処方法
http://support.microsoft.com/kb/937392/ja

QVBA Webクエリについて

VBA初心者です。
VBAを使い、下記「やりたいこと」をしたいのですが、
「質問内容」にありますように、上手くできません…。
基礎がわかっていない為、お粗末な内容かもしれませんが、
教えてください。何卒よろしくお願い致します。

■やりたいこと
シート「1」にあるURLアドレスのリスト(C列)に沿って
WEBクエリを実行し、シート「2」に取得したデータを
連続して末行に入力したいです。

■質問内容
見よう見真似で、下記VBAを作成しました。(1To3は仮の回数です)
WEBクエリが実行され、末行に取得データが入力されますが、
1回目、2回目の取得データは消え(長い空白行ができ)、
ラストの3回目のデータのみが残るかたちになります。
取得したデータが消えず、連続してWEBクエリを実行できるよう
下記を添削して頂けませんでしょうか。
----------------------------------------------------------------
Sub Macro2()

Dim Lrow As Long
For カウンタ = 1 To 3
Lrow = Worksheets("2").Range("A" & CStr(Rows.Count)).End(xlUp).Row
セル範囲 = "C" & カウンタ
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & Worksheets("1").Range(セル範囲).Value, Destination:=Worksheets("2").Range("A" & Lrow))
.Name = Worksheets("1").Range(セル範囲).Value
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next

End Sub

VBA初心者です。
VBAを使い、下記「やりたいこと」をしたいのですが、
「質問内容」にありますように、上手くできません…。
基礎がわかっていない為、お粗末な内容かもしれませんが、
教えてください。何卒よろしくお願い致します。

■やりたいこと
シート「1」にあるURLアドレスのリスト(C列)に沿って
WEBクエリを実行し、シート「2」に取得したデータを
連続して末行に入力したいです。

■質問内容
見よう見真似で、下記VBAを作成しました。(1To3は仮の回数です)
WEBクエリが実行され、末行に...続きを読む

Aベストアンサー

こんばんは。

>取得したデータが消えず、連続してWEBクエリを実行できるよう下記を添削して頂けませんでしょうか。

結論からいうと、このコードでは不可能なのです。QueryTable というテーブルは、列全体を使っていますが、そこに入れたデータは一回きりです。右側にずらして入れていくという方法もないとは言いませんが、効率が悪いです。QueryTable 専用のシートを作っておいて、そこで、取れたデータを、一旦、別のシートにコピーして写すという方法しか、解決策はありません。QueryTable でWeb データを取得した後の部分にCopy/Paste をつなげればよいのではないかと思います。

QVBAでのグラフ作成時の色づけ方法

VBAを使用して散布図を作成しているのですが、
その散布図のマーカーの色をすべて同じ色にするプログラムを考えています。
以下のプログラムを実行してみたのですが色が変更されないため、
どなたか教えていただけると嬉しいです。
よろしくお願いします。


Sub グラフ作成と色づけ()

Dim i As Integer

With Sheet1.ChartObjects.Add(100, 50, 300, 200).Chart

.ChartType = xlXYScatter
.SetSourceData Source:=Sheets("sheet1").Range("C2:DD4465")
.HasTitle = True
.ChartTitle.Characters.Text = "気温変化"
.HasLegend = False
.HasDataTable = False

For i = 1 To 105
.SeriesCollection(i).Interior.ColorIndex = 3
Next i

End With

MsgBox ("FINISH")

End Sub

VBAを使用して散布図を作成しているのですが、
その散布図のマーカーの色をすべて同じ色にするプログラムを考えています。
以下のプログラムを実行してみたのですが色が変更されないため、
どなたか教えていただけると嬉しいです。
よろしくお願いします。


Sub グラフ作成と色づけ()

Dim i As Integer

With Sheet1.ChartObjects.Add(100, 50, 300, 200).Chart

.ChartType = xlXYScatter
.SetSourceData Source:=Sheets("sheet1").Range("C2:DD4465")
.HasTitle = True
...続きを読む

Aベストアンサー

以前マクロで色の変更をやろうとしたことがありましたが、同じところでつまづいたように記憶しています。
その時は16進数値とRGB値で試してみましたが、RGB値のほうでできました。

その場合、ColorIndexをColorにして

.SeriesCollection(i).Interior.Color = RGB(0,0,0)


RGB(0,0,0)は黒になり、RGB(255,0,0)は赤、RGB(0,255,0)は緑、RGB(0,0,255)は青になります

Q----や……が縦書きとして表記されない

以前、word97-2003を使っていました。

縦書きで文書を書いていたんですが、
----や、……なども、縦書きとして、表記されていました。

しかしwindows8に買い替えて、
word97-2003の文書を今のに置き換えた時、
日本語は縦書きになりますが、-----や……は横書きになります。
たとえばこんな感じです。

…    --
…    --
あ    あ
り     り
が    が
と     と
う     う

どうしたら
……や-----が縦書きになるか教えてください。
どうかよろしくお願いします。

-----に、細かい隙間があるかもしれませんが、隙間のない線を入れたいです。
横書きでもできない気がします。合わせて教えていただけたらと思います。

Aベストアンサー

残念ながら、現時点でもサポートでは調査中ですね。

Windows 8 で、一部の文字の縦書きが正しく処理されない
http://support.microsoft.com/kb/2781747
最終更新日から半年過ぎたのに、いまだに対処方法を提示して、
解決に導くことができずにいます。

似た質問は、あちこちの相談サイトで投稿されているのですが、
いまだに対処方法は提示されていません。
残念ながら、しばらくは諦めるしかないようです。
http://social.msdn.microsoft.com/Forums/ja-JP/windowsgeneraldevelopmentissuesja/thread/d509e3db-aac8-43a7-b5fa-67513c44b01d
Word以外でも発生していますが、すべての縦書きで特定の文字
だけが縦書きにならないわけではないようです。
文書の保存前は問題なく、保存後に開くと横になっているなど
どのような環境でなるのかは、はっきりしていないようです。

Qコマンドボタンで印刷ボタンを作りたい!!

OSは、WindowsNTです。アプリケーションは、Excel97です。
以前、こちらで「フォーム」の「ボタン」で印刷ボタンを作る方法を教えて頂いたのですが、「コントロールツールボックス」の「コマンドボタン」で印刷ボタンを作る事は出来るでしょうか?
説明不足な点がありましたら補足させて頂きますので、宜しくお願い致します。

Aベストアンサー

シートにボタンを貼り付けます。ボタン名とかはデザインモードで右クリックしてプロパティのダイアログを出して変更します。

コードはデザインモードでボタンをダブルクリックしてVBE画面に移り、

Private Sub CommandButton1_Click()
  ActiveSheet.PrintOut
End Sub

で印刷ボタンの完成です。

個人的な方法かもしれませんが、1シートには1つの印刷領域しか設定しないようにして、個々のシートは印刷プレビューで設定を行い、マクロ側には印刷設定を書き込まないようにしています。マクロの記録を貼り付けるとその環境のみの(プリンタ等に依存した)マクロになりかねないからです。プレビュー画面からなら設定変更が容易になります。

ご参考に。


このカテゴリの人気Q&Aランキング

おすすめ情報