• ベストアンサー

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

DOUGLAS_の回答

  • 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

関連する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で削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。