• ベストアンサー

イントラネット上で開いているエクセルのセルをコピー

社内のイントラネット上のファイル(http://*******.csv) のA1セルをコピーするという作業をマクロでやりたいのですが、 イントラネット上のファイルの指定の仕方がわかりません。 いろいろとやってみたのですが、現在開いているエクセルのA1を認識してしまいます。 どうかよろしくお願い致します。

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

  • ベストアンサー
  • Randomize
  • ベストアンサー率70% (38/54)
回答No.5

イントラネットと言うよりはURLでファイルを読み込むと言うことをやりたいのでしょうか? もしそうであれば次のコードを試してください。 Public Sub OpenFileByURL() Dim objSrcWorkBook As Workbook 'ファイルを開くと開いたファイルに画面が切り替わってしまうので、再描画を行わないことにより画面のちらつきを防ぐ Application.ScreenUpdating = False '本当はタイムアウト処理やURLの有効無効判定を行わないといけないが '省略のためにエラーを無視にしています On Error Resume Next '実際にここでファイルを開いている(3番目の引数「1」は読み取り専用を指定するの意味) Set objSrcWorkBook = Workbooks.Open("開きたいファイルのURL", , 1) 'ここから先はエラー時はきちんとエラーにして停止させる On Error GoTo 0 If objSrcWorkBook Is Nothing Then 'オープンに失敗した場合 Application.ScreenUpdating = True MsgBox "ファイルのオープンに失敗しました。" & vbCrLf & "処理を中断します。", vbOKOnly Or vbCritical Exit Sub End If With objSrcWorkBook.Sheets(1) 'CSVだとそもそもシートは1個のみだけどXLSファイルの場合は目的のシートを指定することで任意のシートのデータが読み出せます '読み込みたい処理を記述 [何か変数名] = .Range("読み込みたいアドレス").Value '以下好きなだけ記述... End With '開いたブックを閉じる objSrcWorkBook.Close ThisWorkbook.Activate '再描画を有効にする Application.ScreenUpdating = True '開いた後は後片付け Set objSrcWorkBook = Nothing End Sub ただ、あくまでExcelの機能を使用したファイルの読み込みです。したがって、Excelがサポートしていないファイルの場合はこの方法では開けません。その場合は別の方法を講じてください。CSVはこの方法で読み込み可能です。

sakaharu3
質問者

お礼

ご丁寧にどうもありがとうございました。 思っていた通りにできました。感謝します。

その他の回答 (4)

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.4

追伸 注意 「社内のイントラネット上のファイル」が別のフォルダに移動したりファイル名が変わったり変化するとリンクできなくなります。

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.3

画像添付がうまくいかなかったので

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.2

マクロを使わなくても コピーしたい社内のイントラネット上のファイルのA1を リンクしたいエクセル、ファイルのセルにリンクして張り付ければ良いと思います。 両方のエクセル ファイルを開き リンクしたいエクセル、ファイルのセルに「=」を入れ イントラネット上のファイルのA1を選び、Enterを押せば完了です。 自宅から会社のサーバーに入れたファイルとリンクさせてみました。 数式バーには「='\\192.168.・・・・・・・・」と表示されました。 画像添付しましたが途中の文字は消しています。

回答No.1

CSVファイルのA1セルをコピー 自分のブックでセルのリンク貼り付け CSVファイルを閉じる たぶん、この時のリンク貼り付けを行って張り付いた数式を マクロで書いて コピー→値の貼り付けすればいいんじゃないかなあ

関連するQ&A

  • イントラネット上のデータをエクセルに取り込むには?

    イントラネット上のデータを集計してエクセルで表やグラフを作っています。手順として、該当ページをHTMLで保存し、エクセルで無理やり開き、数値をコピーし別の作業エクセルに貼り付けという感じです。 問題は、データ数が多いため非常に時間が掛かる事と、社内セキュリティ(SQL?)で、WEBクエリで読み込めない点です。 出来れば、マクロ等を使い、ワンクリックでデータを集計したいのですが可能でしょうか? ちなみに、ページにはフレームが使われています。

  • エクセルで日付列(またはセル)をコピーすると一日増えたり、減ったりしてしまいます

    現在作業中のエクセルファイル(リスト表Aとします)の表の中の日付の入っている列を他のファイル(リスト表Bとします)にコピーすると1日減ってしまいます。また、リスト表Bの日付列をリスト表Aにコピーすると、1日増えてしまいます。Aファイルはマクロとか特別は数式など使っていません。単純なリスト表です。リスト表Aの中の別の列やセルや別のシートにコピーするには問題なくコピーできます。他のファイルにコピーするとこの現象が出てきます。どうしてでしょうか? 教えてください。

  • エクセルのセル~結合セルへのコピーの仕方を教えて

    フォーマットのセルがありますが 結合セルで出来ています マクロの設定も含まれているようです Aの一列の中で上下2つのセルで一つになっています それが五行あります 左にはエクセルのもともとの枠の番号が1から10まであって Aの縦のセルの数は五行です そのAの縦に名簿のセルを例えば5名分貼り付けますと もともとの結合前のセルに戻って5行貼り付けられてしまいます 左にあるエクセルのもともとの枠の番号ですと1から5までに 貼り付けられるのです わたしはもともとの結合セルの5つのセルにはめ込みたいのですが いっぺんには出来ません 一つづつですとできます なぜなのでしょう 結合セルにまとめてコピーできる方法を教えてください マクロの設定はくずれてもあらかじめ消してもかまいません 私がしたいのは コピーして改めて作ったものの印刷だけです よろしくお願いします

  • セルのデータを、ボタンでコピーさせたいのです

    初めて質問させていただきます。 エクセル関数はある程度こなせますが、マクロはほとんど初心者です。 どのようにマクロを記述すれば良いか、わからなくて困っています。 A1のセルにコピー元のデータがあります。 この時、A4にあるボタンを押すと、A1のデータがA3にコピーされます。 またある時は、C4にあるボタンを押すと、A1のデータがC3にコピーされます。 またある時は、D4にあるボタンを押すと、A1のデータがD3にコピーされます。    A   B   C   D   E ・・・・・・ 1 100 2 3 100 100  100 4 ■  ■  ■  ■   ■ 5 6 7 ・ ・ ・ あるいは、ボタンを一つにして、B1にあるボタンを押すと A1のデータがA3にコピーされます。またある時は、B1にあるボタンを押すと A1のデータがC3にコピーされます。   A  B  C  D  E 1 100  ■ 2 3 100 100 4 5 6 コピー先のセルが少数なら、コピー先のセルを"Range"で指定して、各ボタンに割り付ければ済むのですが、入力するセルが何百とある為、これをいちいち各ボタンに割り付けて、マクロを書いて行くのは、気が遠くなる作業になってしまいます。 ボタンは一個でも、何百個あっても構わないのです。 マクロをどのように記述すれば良いでしょうか。 どうか、アドバイスをお願いします。

  • エクセル2007で複数ファイル間コピーマクロ

    エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー     ・     ・     ・     ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。

  • マクロを生かしてファイルをコピーする術エクセル

    お世話になっております。 マクロを組み込んだ、ファイルA.xls を作成しました。 誤って消してしまっては大変ですので、ファイルをコピーして コピーファイルA.xls というものを作成しました。 ただ、こちらのコピーファイルA.xls というもので、マクロを実行しようとすると エラーが出てしまします。 コピーファイルA.xls がファイルAと全く同じマクロを実行してもエラーが出ない ように、ファイルA.xls をコピー(保存)する術はございますでしょうか? ちなみにWINDOWSXPでエクセル2003を使用しております。 マクロ、エクセルに関する知識が乏しいため、質問の仕方に問題があるかも しれませんが、何卒、ご指導のほどよろしく御願い申し上げます。

  • エクセルのセルの中身をhtmlファイルで簡単に保存させたい?

    エクセルのセルの中身をhtmlファイルで簡単に保存させたい? エクセル2003を使っています。 仮に A1にファイル名(index.html)  B1にhtmlの中身 A2にファイル名(tesuto1.html) B2にhtmlの中身 A3にファイル名(tesuto2.html) B3にhtmlの中身 以下同様に続く があったとします。 いつもはセルBのhtmlの中身をコピーしてエディタに貼り付け、ファイル名を指定して保存(Aのセル)していたのですが、手動でやるのが面倒なのでマクロを使って簡単にやりたいのですが出来るでしょうか? マクロ経験なしの素人ですがよろしくお願いします。

  • イントラネットでコピーも印刷も出来なくするには

     こんばんは。 1つ教えて下さい。 VB2005でASP.NET Webサイト(社内イントラネット)を作っています。IEは8.0です。 イントラネットの幾つかあるページの中の1つのページだけ コピーアンドペーストも、PRINT SCREENでワードパットへの貼り付けも、 ファイルメニューからの印刷も、とにかく印刷を全く出来なくする事は可能でしょうか? 歌詞のサイトがコピーアンドペーストが出来ませんが、それだけではなく、印刷を 全く出来なくしたいのです。 解るかたおられましたら教えて下さい。 宜しくお願いします。

  • エクセルマクロで結合されたセルをコピー

    こんばんは、エクセルで、結合されたセルを結合セル数の違うセルにマクロで貼り付けたいのですが、どのようにしたらよいでしょうか? 結合セル数が違ってもコピー貼り付けできるところとできないところがあるのですが、どうしてでしょうか? よろしくお願い致します!!!!!

  • エクセルマクロでコピーの質問です。

    エクセルマクロでコピーの質問です。 こんにちわ^^; よくわからないエラーが起こっているため困っています。 1.xlsという別のエクセルを開いて指定のセルをコピーし、貼り付けるということで下記のマクロを作ってみました。 ちなみにマクロを書いたファイルはsum.xlsで、1.xlsのコピーしたいセルには数値のみ入っています(書式は会計)。 Sub before() Workbooks.Open Filename:="c:¥aaa¥1.xls" Range("a1:a5").Copy ActiveWindow.Close Range("a1").PasteSpecial End Sub しかし、このマクロをThisWorkbookに貼り付けると文字列として保存されてしまいます。 そこで最後の行を Range("a1").PasteSpecial Paste:=xlValues にするとエラー400が出ます。 一応、sheet1(sheet1)に貼り付けて実行してみたところ、コピー自体ができませんでした。 まだ余りエクセルマクロを理解していないため、なぜなのかが良くわからないのでアドバイスをお願いいたします。 ちなみに使っているのはoffice2003のエクセルです。

専門家に質問してみよう