【最大10000ポイント】当たる!!質問投稿キャンペーン!

Accessのフォーム上に表示させた画像データをExcelに出力する方法がわかりません。
出来れば、エクセルの出力場所も座標指定したいです。
画像はフォームに表示させているものですが、データの保存先パスを指定して出力する方法が解ればと思っています。
「出力(Output)」、「ワークシート変換」等試してみましたが、上手くいきませんでした。
ご存知の方がいらっしゃいましたらお教え願います。
Accessのレポートだと帳票の変更やレイアウト変更の度にPGの変更が必要になってきます。
なので、エクセルに出力させ、レイアウト変更などはユーザーが自由に出来るようにしたいのです。
Accessは出来れば97が良いのですが、無理なら2000か2003でもOKです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

1回に 1つの画像でしょうか


複数の画像を一括で処理するでしょうか
Excelは いつも決まったブックの 決まったシートの 決まったセルでしょうか
新規ブックの新規シートの特定の出力場所でしょうか
画像の大きさは タテヨコいくつにしますか
ヨコ長 タテ長の画像で処理は変えますか
やりたい内容をもう少しくわしく説明してください
簡単なサンプルを用意します 補足願います

この回答への補足

早速有難うございます。
画像出力だけは何とか自力で作成出来ましたが、画像のサイズを用意したサイズ内に収めるようにする方法がわかりません。
(アクセスのレポートならプロパティの設定するだけなので解るんですが・・・)
出力の方法自体も違うかもしれませんのでご質問内容に回答します。
よろしくお願いします。

1)1回に1つの画像です。
(I:\画像\図面.jpgのように保存場所は決まっています。)
2)いつも決まったブックの 決まったシートの 決まったセルです。
(D:\出力シート.xlsのSheet1のW20の位置を左端頂点にAF50のセルまでのエリア内に)
3)画像のサイズは280×280ピクセルですが、エクセルに出力した後はみ出すものとはみ出さないものが存在します。
4)W20:AF50の中に納まるように画像を縦横の比率を保持して拡縮したい。
 

補足日時:2007/11/26 17:47
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

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

QAccessで画像を整理することもできますか??

すみません。未熟者なので教えてください!!!お願いします。
植物の専門家が描いた植物の画像が300近くあります。それをスキャナでとりこみました。
そのものを植物の名前、○○科、大きさ、などなど植物の名前を検索すると、スキャナで取り込んだ画像がでできたりするようにしたいのです。

それってアクセスを使うとできますか??また、アクセスで可能ならばテーブルやら、クエリやら、フォームやらいろいろありますが何を使えばよいのでしょうか??

すみません、初歩的なことかも知れませんがよろしくお願いします。

Aベストアンサー

>それってアクセスを使うとできますか??
問題なく出来ます。抽出しフォームで表示するのは簡単です。
ただ抽出の仕方で抽出条件が変わるのでそのへんだけちょっと難しくなるものもあるのでどの様に抽出するかで簡単かちょっとだけ難しいかくらいで出来ると思いますよ。

まずテーブルのフィールドはID・名前・種類属性・サイズ・PhotoなどにしてPhotoのフィールドはOLEオブジェクト型にします。
ID:主キーとなるコードや番号など(オートナンバーでも良い)
名前:植物の名前
種類属性:何々科何々属の種別
サイズ:大きさ
Photo:フィールドをOLEオブジェクト型 
こんな感じで
名前や種類・大きさなどを入力しPhotoのフィールドにオブジェクトの挿入でビットマップイメージで取り込んである画像を指定します。
このテーブルを使って抽出しますが抽出は1つのフィールドに対してのみならクエリを作り抽出条件を入れれば簡単に出来ます。
試しに検索は後としてテーブルを作りフォームのウィザードでそのテーブルを指定して単票フォームを作ってみれば良いと思います。簡単に出来るんだ と思うはずです。
>植物の名前を検索すると・・
クエリで名前フィールドの抽出条件を作ればできます。

そのクエリやテーブルを使いフォームの新規ウィザードを使って単票型のフォームを作れば表示するフォームも簡単に出来ます。
なので どの様に検索するか(名前で検索する検索フォームを作るのか?とか名前を全て入力して検索するのか?名前の一部だけで検索できるようにするのか?など)などの構成を考えて作っていけば良いと思いますよ。

>それってアクセスを使うとできますか??
問題なく出来ます。抽出しフォームで表示するのは簡単です。
ただ抽出の仕方で抽出条件が変わるのでそのへんだけちょっと難しくなるものもあるのでどの様に抽出するかで簡単かちょっとだけ難しいかくらいで出来ると思いますよ。

まずテーブルのフィールドはID・名前・種類属性・サイズ・PhotoなどにしてPhotoのフィールドはOLEオブジェクト型にします。
ID:主キーとなるコードや番号など(オートナンバーでも良い)
名前:植物の名前
種類属性:何々科何々属の種...続きを読む

QAccessのフォームで商品の画像を表示したい

画像を表示させた商品管理フォームを作りたいのですが、商品にリンクした画像をどうやって表示していいのかわかりません。
(商品のレコードをクリックする毎にその商品の画像
が表示できるようにしたいです)

下記のテーブルがあります。画像と商品は商品コードでつなぎます。

(1)商品テーブル
商品コード 例)A0001
商品名   例)ER-01

(2)画像テーブル
商品コード 例)A0001 
画像ファイル名 例)Photo0001.jpg
パス名 例)C\Photo\Photo0001.jpg

画像はリンクにするのか、埋め込みにするのか
もわからない状態です。
どうぞよろしくおねがいします。

Aベストアンサー

フォームにイメージコントロールで表示するか非連結オブジェクトで表示するかのどちらかになりますが
画像テーブルに画像のフルパスが入っているのであればリンクで表示する方が簡単です。
イメージを埋め込むとデータベースのサイズが増大して動作が遅くなる事もあります。
フォームのソースに画像テーブルの商品名・パス名もSQLステートメントやクエリで追加しておきます。
フォーム上にパス名のコントロールを配置します。パスを見せたくない場合は可視をいいえにして見えなくします。
イメージコントロールの名前をPhoto1とすると
フォームのプロパティで[レコード移動時]のイベントに
Private Sub Form_Current()
If Me![パス名] <>"" Then
   Me![Photo1].Picture=Me![パス名]
  Else
   Me![Photo1].Picture="" 'パスがない画像がない場合表示しない
 End If
End Sub
のように設定しフォーム上のパス名に入った画像のパス\ファイル名をPhoto1のPictureソースに代入させ表示します。

非連結オブジェクトで表示する場合はテーブルのフィールドをOLEオブジェクト型にしてデータベースにオブジェクトの挿入で画像をビットマップイメージで取り込みます。そのフィールドを指定するようにすればそのフィールドに挿入してある画像が表示できます。ビットマップのレコードとなるのでbmpで保存しておかないと出来ません。
画像も小さくてファイル数も少なければ問題ないとは思います。

フォームにイメージコントロールで表示するか非連結オブジェクトで表示するかのどちらかになりますが
画像テーブルに画像のフルパスが入っているのであればリンクで表示する方が簡単です。
イメージを埋め込むとデータベースのサイズが増大して動作が遅くなる事もあります。
フォームのソースに画像テーブルの商品名・パス名もSQLステートメントやクエリで追加しておきます。
フォーム上にパス名のコントロールを配置します。パスを見せたくない場合は可視をいいえにして見えなくします。
イメージコントロー...続きを読む

QAccessの画像挿入のVBAコード

フォーム名は製品一覧で、製品一覧がレコードソースのテーブルです。

メインフォームの中に製品一覧のサブフォームがあり、サブフォームはデータシートビューです。
フィールドには管理Noがあり、オートNoで1~5000までレコードがあります。
ここから、例えば管理No10の製品をレポートで印刷したい場合は、管理No10の印刷フィールドにpと入力すれば管理No10のレコードのみがレポートで印刷される仕組みになっています。

この時に、印刷フィールドにpと入力されたレコードの管理Noを使って画像をレポートに挿入し印刷できるコードはありますか?
感じ的には、管理Noが10なので、画像ファイル名も10.jpgにしておき同じ番号をLookupしてくる、みたいな感じです。

他の方法でもいいので、画像を抽出しレポートで印刷できるようにしたいのですが可能でしょうか?

データが5000もあるので、画素ファイルはマイピクチャなどの外部に保存しておきたいです。


よろしくお願いします。

Aベストアンサー

あまり詳しくはないので…;
画像表示・パスについて、こちらのページは参考になりませんでしょうか?
http://www.fk-plaza.jp/acs/TIPS/waza55.htm

QAccessでの画像ファイルの取り込み

お読みいただきありがとうございます。

 レコード数200余件のデータベース(商品リスト)の個々のデータに対し、別途準備された画像ファイルを取り込みたいのですが、一括して取り込む方法を教えていただけますでしょうか。

 過去の質問を検索して1件同様の質問を見つけたのですが、当方Accessについてはほとんど素人で読んでもよくわかりませんでした。

 画像ファイルはJPEGで、ファイル名は通し番号(10.jpgのように)なっていて、それぞれレコード上にある通し番号と1対1で対応しています。Accessは2002です。

 宜しくお願いいたします。

Aベストアンサー

こちらの方が詳しく載っておりますので参考に
してください。

簡単に説明すると、イメージ画像を特定のフォルダに
入れます、たとえば C:\image\ の下など。

画像ファイル
C:\image\file1.jpg
C:\image\file2.jpg

ACCESSで画像ファイル名を入れるテーブルを作成します。
ファイル名:テキスト形式で長さは任意でかまいません。
フォームを作成し、イメージコントロールを配置し
参考URLにあるコードをレコードが変更されたとき
などに記述する

となります。

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=505348

Qエクセル ハイパーリンクで画像を表示

ハイパーリンクで画像を呼び出す際、クリックしてブラウザを立ち上げるのでなく、エクセルの画面上(セル内)にそのまま表示させる書式設定や関数などはありますか?ご存知でしたら教えて下さい。

<詳細>
画像入りの商品タグを自動で作成する表を作っています。
商品一覧表(シート(1))からタグを作りたいものにチェックを入れると、別シート(シート(2))にタグの体裁で情報が配置され、そのまま印刷できる…というものです(A4用紙1枚に縦型のタグが60枚程度)。
関数を使って文字情報を配置するところまでは何とかできたのですが、画像の配置のところでつまずいています。
取り急ぎ画像を直接ドラッグして配置し、1つ1つ並べ直していますが、商品数が多いのと(1万点ほど)情報の変更が頻繁にあるので、方法があれば画像も自動配置したいと思っています。

シート(1)
    A列     B列     C列(画像リンク)
1 商品番号 | 棚番A1 | C:\Dcuments (略) 001.jpg
2 商品番号 | 棚番A2 | C:\Dcuments (略) 002.jpg
3 商品番号 | 棚番B1 | C:\Dcuments (略) 003.jpg
   :

シート(2)
| ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄
|商品番号|商品番号|
|‥‥‥‥|‥‥‥‥|
|商品画像|商品画像|←※
|‥‥‥‥|‥‥‥‥|
|棚番:A1|棚番:A2|
|____|____|__
| ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄

※=HYPERLINK(シート(1)!C1,"■"))
(別名(■)のところをどうにかすればいいのでしょうか…)

どうぞよろしくお願いいたします。

ハイパーリンクで画像を呼び出す際、クリックしてブラウザを立ち上げるのでなく、エクセルの画面上(セル内)にそのまま表示させる書式設定や関数などはありますか?ご存知でしたら教えて下さい。

<詳細>
画像入りの商品タグを自動で作成する表を作っています。
商品一覧表(シート(1))からタグを作りたいものにチェックを入れると、別シート(シート(2))にタグの体裁で情報が配置され、そのまま印刷できる…というものです(A4用紙1枚に縦型のタグが60枚程度)。
関数を使って文字情報を配置するところ...続きを読む

Aベストアンサー

関数ですか...
無いこともなく、[名前の定義]と組み合わせれば可能ですが、
事前に画像を読み込んでおかないといけないので『(1万点ほど)』だとおよそ実用的ではないです。
一応、http://oshiete1.goo.ne.jp/qa5092871.html こちらで紹介したサイト
http://www.officetanaka.net/excel/function/tips/tips14.htm

http://www.geocities.jp/chiquilin_site/data/050530_search.html
ここなど参考になるかもしれません。

実際にはセルに画像ファイルのフルパスを入力しておいて、関数で参照し、
マクロで読み込むという処理になってしまうでしょうね。

以下Q&A参考に、セル位置等応用できれば、なんとかなるかもしれません。
『マクロでセルに入れたファイル名の画像を隣のセルに読み込む』
http://oshiete1.goo.ne.jp/qa5454724.html
『VBAを使ったエクセルでの画像複数表示』
http://oshiete1.goo.ne.jp/qa4004938.html
『社員写真帳への写真の取り込みについて質問です』
http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi?mode=al2&namber=29522&rev=&no=0&P=R&KLOG=191

がんばってみてください。

関数ですか...
無いこともなく、[名前の定義]と組み合わせれば可能ですが、
事前に画像を読み込んでおかないといけないので『(1万点ほど)』だとおよそ実用的ではないです。
一応、http://oshiete1.goo.ne.jp/qa5092871.html こちらで紹介したサイト
http://www.officetanaka.net/excel/function/tips/tips14.htm

http://www.geocities.jp/chiquilin_site/data/050530_search.html
ここなど参考になるかもしれません。

実際にはセルに画像ファイルのフルパスを入力しておいて、関数で参照し、
マク...続きを読む

QAccessで写真(JPEG)管理がしたいのですが....

Access2000の初心者です。
写真の管理を考えています。写真はLサイズで現像した写真を使用。400dpiでJPEGで低圧縮保存します。枚数は10000枚程度蓄積するつもりです。

ひとまず、DBを作成し、(OLEオブジェクトのみを作成し、フォーム画面からオブジェクト挿入、グラフィックフィルタ?には、MicroのPhoto Editorを使用)試してみましたが大変遅く、使い物になりそうにありません。

一般的に、画像を読み込まれる場合、どのような作り方をされるのでしょうか?
また、なにか勘違いや失敗をしているのでしょうか?

なお、写真データは、写真自体が商品であるため解像度を落とすなどはなるべく避けたいと考えております。(けど、JPEG)

Aベストアンサー

さすがにOLEでは辛いですね。

目的はなんでしょうか。
画像ファイリング?
以下は私が画像を扱う場合の方法です。

テーブル「tbl01Config」を作成し、文字列型のフィールドを1つ作ります。(m01ImgPath)
このフィールドには画像が置いてあるフォルダのフルパスが入ります。

テーブル「tbl02Main」を作成し、文字列型のフィールドを1つ作ります。(m02FileName)
さらにコメント用のフィールドを作ってもよいでしょう。(m02Comment)

tbl01Configにはレコードが1つだけあります。
例えば「D:\Images\JPEG\」とか。

tbl02Mainには画像の数だけレコードがあり、m02FileNameにはそれぞれのファイル名が入ります。

ユーザーフォームにイメージコントロールを貼り付けます。(コントロール名:imgMain)
貼り付けたときに「ファイルを開く」ダイアログが表示されたら、とりあえず適当な画像を選び、貼り付け終わったら「ピクチャ」プロパティを空にしてください。
「OLEサイズ」プロパティを「ズーム」にします。

適当なイベントでimgMainのPictureプロパティに画像のフルパスを設定してあげてください。
フルパスを取得するにはtbl01Configのレコードとtbl02Mainのレコードから値を取得して連結すればOKです。

# フルパスを取得した後に一度Dir関数などで画像が本当に存在するか確認するロジックを入れて、存在しなければピクチャーコントロールを非表示にするとか、Pictureプロパティにファイル名を設定する時にOnErrorステートメントでエラートラップし、エラーならコントロールを非表示にするとか、工夫してください。

さすがにOLEでは辛いですね。

目的はなんでしょうか。
画像ファイリング?
以下は私が画像を扱う場合の方法です。

テーブル「tbl01Config」を作成し、文字列型のフィールドを1つ作ります。(m01ImgPath)
このフィールドには画像が置いてあるフォルダのフルパスが入ります。

テーブル「tbl02Main」を作成し、文字列型のフィールドを1つ作ります。(m02FileName)
さらにコメント用のフィールドを作ってもよいでしょう。(m02Comment)

tbl01Configにはレコードが1つだけあります。
例えば「D:\Image...続きを読む

QAccessからExcelへの条件付エクスポート

お世話になります。
Access2000で住所録を作成し、運用しております。
普段はデータをフリガナ、会社名、市町村で検索し、表示しているのですが
この時に使用した、検索条件をそのまま使って、得られたデータをExcelに
エクスポートしたいのです。
(検索は、サブフォームの一覧表示部に各検索条件でフィルタをかけるという方法で行っています。)
テーブル作成クエリなどいろいろ試してみたのですが、なかなかうまくいきません。
良い方法をご存知の方いらっしゃいましたら、よろしくお願いします。

Aベストアンサー

テーブル作成クエリで抽出したものをテーブルに出来たらあとはコードで出来ます。
ただし、
1.エクスポート先のEXCELファイルは既にある前提です。ここでは仮にC:\Windows\デスクトップ\Expo.xlsというファイルのDataという名前のシートににエクスポートするとします。

2.VBAでDAOを使用しますが、2000の場合標準がADOになっていますので、ビジュアルベーシックエディターのツールメニューの参照設定からDAOの一番新しそうなヴァージョンのやつにチェックマークをつけておいてください。(ADOでやればいいのでしょうが私の知識が古いのでDAOしか使えないのです。)

3.抽出して作成したテーブルの名前はT_抽出Dataと仮にしておきます。
4.どれかのフォームにコマンドボタンを作成して、そのクリック時のイベントプロシージャに次のようなコードを書きます。

Private Sub ボタン_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim appExcel As Object
Dim Worksheets As Object
Dim I As Integer '行番号

Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset("T_抽出Data")

'エクセルオブジェクト生成
Set appExcel = GetObject("C:\Windows\デスクトップ\Expo.xls")
Set Worksheets = appExcel.Worksheets("Data")

'作業中はエクセルシートを非表示
appExcel.Parent.Windows(appExcel.Name).Visible = False

With Worksheets

'データ追加ループ
Do Until rs.EOF = True
.Cells(I, 1) = rs.Fields("フィールド名")
.Cells(I, 2) = rs.Fields("フィールド名")
.Cells(I, 3) = rs.Fields("フィールド名")
.Cells(I, 4) = rs.Fields("フィールド名")
rs.MoveNext
I = I + 1
Loop

End With

appExcel.Parent.Windows(appExcel.Name).Visible = True

'エクセルブックを閉じる
appExcel.Close True

' オブジェクトの参照を解放
Set Worksheets = Nothing
Set appExcel = Nothing

MsgBox ("エクセルへの出力が終了しました")
End Sub

実は私も以前、教えてgooで同じような質問をして、別の人にこのコーディングを教えてもらいました。

テーブル作成クエリで抽出したものをテーブルに出来たらあとはコードで出来ます。
ただし、
1.エクスポート先のEXCELファイルは既にある前提です。ここでは仮にC:\Windows\デスクトップ\Expo.xlsというファイルのDataという名前のシートににエクスポートするとします。

2.VBAでDAOを使用しますが、2000の場合標準がADOになっていますので、ビジュアルベーシックエディターのツールメニューの参照設定からDAOの一番新しそうなヴァージョンのやつにチェックマークをつけておいてください。(ADOでやればい...続きを読む

QAccessでグローバル変数を宣言して定数を定義したい

Access97でグローバル変数を持ちたいと思ったのですが、
それらしきものが見つかりません。

Public変数というものがあるのですが、これはプロシージャ-単位で
しか定義できないようです。

ひとつのデータベース全体でグローバルに定義できる定数を持ちたいのです。
たとえば、データベース内で頻繁に読み込む必要があるファイルのPATH
"C:\Program Files\Netscape\Communicator\"を
固定で持っておきたい。

何か方法はないでしょうか?
よろしくお願いします。

Aベストアンサー

もし、定数でいいのであれば、
標準モジュールに、

Const DATAPATH = "C:\Program Files\Netscape\Communicator\"

のように書けば、どこからでもDATAPATHと言う名前で参照することができます。

変数である必要があるのなら、同じく標準モジュールに、

Global glbDataPath as String

Public Sub PathSet()

glbDataPath = "C:\Program Files\Netscape\Communicator\"

Exit

と書いておき、AutoExecマクロのモジュールを開くでPathSetサブルーチンを呼び出せばよいと思います。

Q写真入りデータベースの作成

Accessを使用し写真入のデーターベースを作成しようと考えています。
フォームでコメントと数枚の写真が確認できるようにし写真をクリックするとフォトエディタ等で詳細画像が確認できるようにしようと考えたのですが、OLEオブジェクトとして写真を貼り付けるとファイルが以上に大きくなってしまいます。
何かよい方法はないでしょうか。

Aベストアンサー

通常Accessで画像データベースを作成する時は容量が大きくならないように、テーブルに画像ファイルのフルパスを格納するフィールドを1つ設け、そのパスをイメージコントロールのPictureプロパティに代入してやります。

やり方は例えばフォームのレコード移動時イベントなどに

Me!イメージコントロール名.Picture = Me!画像パスの表示(または格納)されるテキストボックス名

という感じで書きます。

ただしこれだけだとテキストボックス内が空の場合にNullエラーが出るので一般的な公式(構文)としては以下のようになります。

#################################################

' 「'」のついた行はコメント(説明)です。プログラムコードではありません。


’もし画像パステキストボックスがNull(不明値)だったら

If Isnull(Me!画像パスの表示されるテキストボックス名) = True Then

’イメージコントロールを空白表示する

Me!イメージコントロール名.Picture = ""

Else ’画像パスが不明じゃなければ

’イメージコントロールに画像を表示する

Me!イメージコントロール名.Picture = Me!画像パスの表示(または格納)されるテキストボックス名

End If

#################################################

マイクロソフトのサイトにサンプルなどが置いてありますからこちらもご参照ください。
http://www.microsoft.com/japan/users/office_expert/200210/03-1.asp

http://www.microsoft.com/japan/users/office_expert/200210/default.asp

僕が示した例と、マイクロソフトのサイトの例は、多少書き方が違いますが、結果はだいたい同じなので好きな方でやってみてください。

ではがんばってくださいね。

参考URL:http://www.microsoft.com/japan/users/office_expert/200210/03-1.asp

通常Accessで画像データベースを作成する時は容量が大きくならないように、テーブルに画像ファイルのフルパスを格納するフィールドを1つ設け、そのパスをイメージコントロールのPictureプロパティに代入してやります。

やり方は例えばフォームのレコード移動時イベントなどに

Me!イメージコントロール名.Picture = Me!画像パスの表示(または格納)されるテキストボックス名

という感じで書きます。

ただしこれだけだとテキストボックス内が空の場合にNullエラーが出るので一般的な公式(構文)とし...続きを読む

Q【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには

バージョン:Access2002

フォーム「frm01」にテキストボックス「tb01」が作ってある場合、
Forms.frm01.tb01.Value="あいう"
とすれば、フォームもコントロールも指定できるのですが、
Dim strTxt As String
strTxt = "tb01"
Forms.frm01.strTxt.Value="あいう"
だと、文字列型変数"strTxt"が展開されないのでフォーム「frm01」のコントロール「strTxt」を探してしまいエラーになってしまいます。

文字列型変数でフォームやコントロールを指定するには、どのようにすればよいのでしょうか?

Aベストアンサー

フォームの場合
 Forms(strFrm)

フォームのコントロールの場合
 Forms(strFrm).Controls(strTxt)


これでも参照できますが、普通ここまで省略しませんね。
 Forms(strFrm)(strTxt)

あとで見たとき、訳がわからなくなりそう。


人気Q&Aランキング