• ベストアンサー

Excel に貼り付けた図をデータベース管理したい

行いたいこと Excel2003 にてシートへ図の挿入された写真や絵などをデータベース管理したい。 詳細 ・図形をシートの指定場所へ図の挿入 ・指定場所からはみださないように体裁を整え ・VBAにより、ボタンで他の文書と同様登録をする。 ・ネットワークに繋がってる他の場所からそのデータをデータベースから取り込み。 ・シートの指定場所へ表示する。 以上のようなことは可能でしょうか 教えてください。 よろしくお願いいたします。 、

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

基礎的なことがわかってない。エクセルのシートに写真でも、張り付けた場合、見えている位置や画像とシートのセルの値は関係が無いのだ。XX港に止まっている船が、その港の船とは限らないようなもの。セルA1の値が10というのとは根本的に違う。 画像とセルの値にはLinkedCell(エクセルの他で使う用語)のようなものはない。 たまたまそのセルの位置に見えているだけ。ただエクセルで少しは配慮してあるが(図の書式設定ープロパティの項目)。 >指定場所からはみださないように体裁を整え などの表現はこのへんが判ってない証拠。 これ(位置)を頼りにするならセルの領域に、「画像の上左隅の点がある」などのことを頼りにしないとならないが、複雑であり、画像をシート上で動かせるから、収拾が付かない。ソフト自身が基礎で対応してくれないと自作は難しい。 エクセルは画像管理専用ソフトではない。 ーー 画像なりの別の(文字情報の)管理ならシートは使えるかも。 画像名(例 靴1号)ー>画像ファイル名(フルパス)導出ーー>画像呼び込み表示などとか。(画像索引表示) 外に靴に分類される画像はどういう写真がどういう名前であるのかなど(文字情報としての属性の整理・検索)。 ーー エクセルはデータベース管理などという大げさな言葉を使えるほどのソフトじゃない。こういう言葉を振り回している質問者は、 初心者が多い。データベースとか、画像の管理などを本格的に(=仕事で使えるようにする)するのは、プロの仕事だ。 最低そういう出来合いのソフトが無いか探すのが関の山だろう。 ーー ネットワークとの絡みも難しい。 またWEB情報として、画像とリンクするなどの方法もあるかもしれない。 これもここへ質問して回答で出来るようなものではないと思う。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>Excel2003 にてシートへ図の挿入された >写真や絵などをデータベース管理したい。 とのことですが、その ワークシート には、サムネイル(縮小加工された ファイルサイズ の小さな画像)ではなくて、元々の ファイルサイズ の大きな画像を貼り付けられるのでしょうか?  「画像の管理」ということになれば、画像そのものは「ネットワークに繋がってる他の場所」に置いておいて、 1)ファイル名 を選択すると、その画像を「ネットワークに繋がってる他の場所」から読み込んで表示する とか、あるいは、 2)ワークシート には サムネイル を表示しておく というような操作が有効かと存じます。  (1) の場合は、VBA になりますし、(2) の場合は、Excel ではなくて、それに特化した ソフト で画像一覧を閲覧するようなことが普通でしょうか。  1つの ブック に画像そのものを並び立てると、ブック の サイズ が異常に大きくなり、開かなくなるのが落ちですか。 --------------------------------------------------  いずれの例も Const myPath As String = "\\network\address\folder\" のところに ネットワーク アドレス の フルパス を記入し、最後に「\」記号を入れてください。 1)の例  当該 ワークシート の シートモジュール に下記を コピペ してお試しください。  先ず「MkList」を実行しておいて、A1 セル の リスト から画像の名前を選択すると、C1 セル に画像を表示します。  表示された画像は サムネイル ではなくて、「ネットワークに繋がってる他の場所」の 画像ファイル をそのまま読み込んでいます。 Option Explicit Option Compare Text Const myPath As String = "\\network\address\folder\" Sub MkList()  Dim MyName As String  Dim MyList As String  On Error Resume Next  ActiveSheet.Pictures("表示用").Delete  On Error Resume Next  MyName = Dir(myPath & "*.jpg")  Do While MyName <> ""   MyList = MyList & "," & Replace(MyName, ".jpg", "")   MyName = Dir  Loop  Application.EnableEvents = False  With Range("A1").Validation   .Delete   .Add Type:=xlValidateList, Formula1:=Left(MyList, 911)  End With  Application.EnableEvents = True End Sub Private Sub Worksheet_Change(ByVal Target As Range)  If Target.Address <> "$A$1" Then Exit Sub  Application.ScreenUpdating = False  Range("C1").Select  With ActiveSheet.Pictures   On Error Resume Next   .Item("表示用").Delete   .Insert(myPath & Range("A1").Value & ".jpg").Select   On Error GoTo 0  End With  With Selection.ShapeRange   .Name = "表示用"   .LockAspectRatio = msoTrue   .Height = Range("C1:C7").Height  End With  Range("A1").Select  Application.ScreenUpdating = True End Sub -------------------------------------------------- 2)の例  こちらは、 http://okwave.jp/qa/q5744704.html の #3 さんのご回答を参考にさせていただきました。  mitarashi 様、無断借用ご容赦を <(_ _)>  標準ジュール に下記を コピペ してお試しください。  ワークシート に「ネットワークに繋がってる他の場所」にある 画像ファイル の サムネイル と ファイル名 を羅列し、サムネイル画像 を クリック すると、元の写真が規定の アプリケーション(私の環境では、JPG ファイル の場合は Internet Explorer でした)によって開かれます。 Option Explicit Option Compare Text Sub MkThumbnail()  Const myPath As String = "\\network\address\folder\"  Dim MyName As String  Dim i As Long  Application.ScreenUpdating = False  MyName = Dir(myPath & "*.jpg")  Do While MyName <> ""   i = i + 1   Range("B1").Select   ActiveSheet.Pictures.Insert(myPath & MyName).Select   With Selection.ShapeRange    .Name = "表示用"    .LockAspectRatio = msoTrue    .Height = Range("C1:C7").Height   End With   'xlBitmapの方が若干ファイルサイズが小さいですが、2007では、xlPictureしか有効でないという情報もありますのでコメントアウトして置いておきます   Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap 'xlPicture   Cells(Int((i - 1) / 4) * 9 + 1, ((i - 1) Mod 4) * 4 + 1).Select   Cells(Int((i - 1) / 4) * 9 + 8, ((i - 1) Mod 4) * 4 + 1).Value = Replace(MyName, ".jpg", "")   'ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, DisplayAsIcon:=False   ActiveSheet.PasteSpecial Format:="ビットマップ", Link:=False, DisplayAsIcon:=False   ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:=myPath & MyName   ActiveSheet.Pictures("表示用").Delete   MyName = Dir  Loop  Application.ScreenUpdating = True End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

ネットワーク、データベースなどと言い出すと、一番問題となるのが 同時に複数のユーザで利用した時の対処です。Excel はそのような 使用を想定していませんので、ファイルが壊れる確率が上がります。 あとは Excel は誰でも自由に編集できるので、ルールに従って 保存しておいたデータを簡単に編集されてしまうという事です。 (データベースなら SQL でルールに従った処理をする事が前提に なります。) それ以外は作れなくもない(ざっと聞いて方向性がぼんやり頭に浮かぶ) レベルの話だと思います。 あと、引っ掛かるとすればネットワーク越しの処理がローカルの 処理と違う面とか、セキュリティ(アクセス権)とかかと。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELシートに貼り付けた図のリンク先の変更方法

     EXCEL2003でシートに図を貼り付けて、その図のリンク先にシート内の範囲(=$A$1:$G$8)を 指定しています。(挿入した図を指定して、EXCEL画面上部の値や関数を入力するところに シートの範囲を入力しています)  その指定した範囲をVBAから変更するにはどのようにすればよろしいでしょうか。 これでは駄目ですが、こんな感じでできればいいのですが....。  ActiveSheet.Shapes("図1").Formula = "=$A$11:$G$18"  よろしくお願いします。

  • Excelで指定のセル上に図を配置したい

    Excel VBAで、シート上に図(四角形)を配置しようと思ってます。 イメージ的には、ALTキーを押しながらセルとぴったりフィットする図形(四角形)を作成したいのですが、マクロで生成したコードを見ると下記のように座標での指定になってます。 ActiveSheet.Shapes.AddShape(msoShapeRectangle, 102#, 210#, 76.5, 15#).Select もしこれをセルで指定する方法がありましたら教えて下さい。宜しくお願いします。

  • Excelで画像をクリックしたとき「図の書式設定」が表示されます。

    Excelで画像をクリックしたとき「図の書式設定」が表示されます。 これを作成したVBA起動に変える方法はあるでしょうか。 Excel2000です。 Excelのシートに「挿入 → 図 → ファイルから」で挿入しています。 この図をクリックすると「図の書式設定」が表示されます。 書式設定で細かく設定できるのですが、クリックするたびに大きなサイズ小さなサイズと変わるようにVBAを設定しようと思います。 サイズを指定するVBA自体はわかるのですが、図をクリックしたとき「図の書式設定」を出さないでVBAを起動する方法が解りません。 ご存知の方お教えいただけますか。

  • VBA で EXCELファイルをインポート

    VBAに詳しい方お助けください。VBAを使用して、データベースをつかってインポート(データベースファイルを開かずにデータの取り込み)を行いたいのですが良く分かりません。データベースは一つはCSVファイル、一つはXLSファイルです。取り込み先のEXCELファイルのSHEET1にCSVファイルのデータベース(SHEET1)、取り込み先のEXCELファイルのSHEET2にXLSファイルファイルのデータベース(SHEET1)とインポートするにはどのようなVBAの記述が必要ですか?色々と調べているのですがうまく行きません。EXCELは2003を使用しています。

  • グラフを挿入した時実行はどう書く エクセル

    昨日質問したとき、間違ったカテゴリーに書き込みしてしまいました。 削除して再度質問します。 エクセルのグラフに図形(直線や丸)を新規挿入したときに、図形の位置を シートに書き込みたいと思っています。 グラフに図が新規挿入されたときに実行するというvbaのコードは、どのように 書くのでしょうか? よろしくアドバイスお願いいたします。 windows7 excel2010です。

  • ワードの図の挿入について

    ワードで、文書入力、図の挿入など普通に作成していて、突然、同じ画面なのに、オートシェイプなどを挿入すると、全く表示されないのですが・・表示されないというか、確かに図は挿入したのですが、画面に現れないという状態。例えば、オートシェイプで星を選んでも、星の絵は現れずに、星らしき図を選んだという、図の周りにある選択された形跡は出てくる・・・意味わかってくれるでしょうか?ちなみに別に、新規文書をだして、新たにそこで、図の挿入するとごく普通にできるのですが・・・?(だからといってそういう状態になるたびにわざわざ新規をだしていちいちやるのは効率悪いので・・・) もうひとつは、テキストブックの中の文字がPCの画面上にはちゃんと入力されているのに、印刷するとそこだけ、なぜか印刷されないのですが・・なぜでしょうか?ちなみに他の文書は印刷され、他のテキストブックで作ったものも印刷されているのもあるのですが・・・?

  • 図の挿入での2つの質問です

    (1)エクセルシートに図や絵を挿入しますと■が6ヶ表示するだけで図や絵が表示されません。■部分をクリックして十字矢印を出してから少し移動さすと図や絵が出てきます。この操作で正しいのでしょうか?お教え下さい。 (2)絵や図を挿入後印刷プレビューには出てきません。  表示方法をお教え下さい。尚 エクセル2003を使っております。  宜しくお願い致します

  • エクセルで作成した文書やデータを、一つの図形としてパワーポイントに貼り

    エクセルで作成した文書やデータを、一つの図形としてパワーポイントに貼り付ける場合、 私は、作成した文書等を範囲指定して右クリック「コピー」を選択し、 その隣に「挿入」-「図形」で長方形図形を作成し、 その長方形図形の上で「貼り付け」をクリックすると、範囲指定された文書等が1枚の図として作成されます。 その図を切り取り、パワーポイントに貼り付ければ、一つの図として貼り付けることが可能で、 大きさも、図と同様に変更することが可能となります。 ついこの前まで、エクセル2003→パワーポイント2003はきれいに貼り付けできていたのですが、 エクセル2007に変えたら、パワーポイントに貼り付けた際、 少しにじんだ感じで貼り付くようになり(コピーしすぎて文字が太くにじむ感じ)、 見にくくなります。 エクセル2007とパワーポイント2003の互換性があまりよくないのでしょうか? 説明が下手でわかりにくいと思いますが、なにか解消方法あるでしょうか?

  • Excelで画像や図が見えなくなる

    「WindowsXP SP2」のOSで「Excel2002SP3」を使用しています。”図をファイルから挿入”やオートシェイプで図形を作成したりした後、スクロールしてその配置した位置が画面から一旦はずれ見えなくなったあと、再びスクロールして元の位置を画面で映し出した際に、挿入や作成したはずの画像や図形が見えません。カーソルをあったであろう場所の上に移動するとオブジェクトがあるのは分かり、”最前面へ移動”をすると現れてきます。以降その繰り返しです。アプリケーションを再インストールしても同様です。ちなみにそのファイルを他のパソコンで開くと正常に見え、このような現象は起こりません。原因と対策法をお教え下さい。よろしくお願い致します。

  • エクセル:VBAでシート上のオートシェイプ以外の図形を消去したい。

    お世話になります。 ★VBAでシート上のオートシェイプ以外の図形を消去したいのです。 No.1902175で、エクセルシート上の図形の削除方法をいろいろ教えていただきました。今回は、そのときにはあてはまらなかった、「オートシェイプをのぞく図形をVBAで削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。