• 締切済み

社内専用システムへエクセルのデータを貼り付けたい

社内専用システム(おそらくイントラネットかと思います)へ、エクセルのE5セルにあるデータを貼り付けたいのです。 社内専用システム画面には入力エリアが複数ありますが、その3番目の入力エリアに貼り付けたいのです。 エクセルにてE5を選択 ⇒「Ctrl+C」 ⇒社内専用システム画面をアクティブにする ⇒3番目の入力エリアをマウスにて選択して「Ctrl+V」 または、 エクセルにてE5を選択 ⇒「Ctrl+C」 ⇒社内専用システム画面をアクティブにする ⇒「Tab」 ⇒「Tab」 ⇒「Ctrl+V」 にて3番目の入力エリアに貼り付けることはできるのですが、 「3番目の入力エリアをマウスにて選択」又は「Tab」「Tab」の作業を抜かして、 エクセルにてE5を選択 ⇒「Ctrl+C」 ⇒社内専用システム画面をアクティブにする ⇒「Ctrl+V」 のみで3番目の入力エリアに貼り付けることは出来ないでしょうか? 何千回と行う作業ですので「3番目の入力エリアをマウスにて選択」又は「Tab」「Tab」の作業を抜かして行いたいのです。 社内専用システムのことですので、確かな回答はできかねるかと思います。「これでできませんか?」レベルでかまいませんので、回答していただけると助かります。 よろしくお願いいたします。

みんなの回答

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.8

#1のWwolfです。ご返答有難う御座います。 不必要なというか要らぬお世話になるかもしれませんが、気になるので記載しておきます。 今の世の中、「出来る事」と「していい事」が混同されている事が多いように思えます。 質問者様個人的に考えると、本件の業務効率は大変良いと思いますし、出来るならする事を許可を得てすべき事だとも思います。 しかしながら、もし質問者様のアウトソーシング会社が、ソリューションを含めた派遣内容であれば、提案される事も良いと思います。 しかし、その効率化が出来た事により、そのノウハウのみ吸い上げられ派遣会社へ発注しなくなる可能性も含まれます。 また、そのプログラム(例えVBAであろうとも)により派遣元の会社に損害を与えないとも限りません。(言いがかりを付けられても言い返せません) よって、「システム管理責任者と相談すべき」とした私もその他の回答者さんも細かく説明はしてはいませんが、根底にあると思います。 折角の良い事が、悪い事になるのも馬鹿らしいでしょうし、成功と失敗は紙一重です。 各回答者さんへの「お礼」を見ると、とても良い人であろうと勝手に思い老婆心ながら本回答に敢えて記載しました。 回答者様の上司に相談の上、取り組んでください。そして頑張ってください。

mako27mako
質問者

お礼

ご心配いただき、ありがとうございます。 「出来る事」と「していい事」が違うとの事、ご忠告ありがとうございます。 「出来そうだ!!」と思うと、周りが見えずに突き進んでしまわないよう、心しておきたいと思います。 でも、今回の作業は、本番データへの書き込みというのではなく、データ照会を行う時に利用したいと考えているものですので、会社に損害を与える心配はないように思います。 質問内容には、細かく書きませんでしたが、私がしている作業というのは、他の方が入力をした画面のダブルチェック作業なんです。 具体的に書きますと、 (1)Aさんが、顧客番号「0001」「0005」の方の申込書をB部署へ送るときに、顧客番号「0001」「0005」の申込書の所在をデータ上で「B部署にあります」とうふうに入力をします。 (2)Aさんが「0001」「0005」の方の申込書を送付します。 この時に、Aさんがエクセルで送付するものの一覧表を作成します。 (3)私が、エクセルで作られた一覧表を見ながら、データ上で「0001」「0005」の方の申込書の所在が「B部署」になっているかを1件1件顧客番号を入力しながらダブルチェックを行います。 この(3)の処理をする時に、せっかくAさんがエクセルで入力したファイルがあるのですから、顧客番号を手入力する手間を省略したいなと考えました。 Aさんが作ったエクセルファイルはセルE5から下にに顧客番号が並んでいます。 セルE5の顧客番号のダブルチェックが終わったら、E5のデータを上にシフトして削除していけば、常にセルE5にチェックしたい顧客番号が来るというわけです。この削除処理のマクロは私でも作成できました。 だから、この質問で出来上がるマクロと合体させれば、かなりダブルチェックが楽になるんだけどな・・・と思っています。 (実に、地味な作業で恐縮です・・) 私たちの作業手順を会社が知っておく必要があるのは同じなので、上への報告は怠らないように進めたいと思います。 ありがとうございました。

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.7

>コンパイルエラー Enc Sub、End Function または End Property 以降には、コメントのみが記述できます」というエラーメッセージウィンドウが表示されてしまいます・・・ あぁ、たぶんですが Public Sub CopyPaste() より上の方にある Public Declare 宣言、Public Const宣言は 別モジュールにしないといけなかったかもです Module1 に記載しているのであれば、 Public Declare 宣言、Public Const宣言は Module2 を作成して移動して試してみてください。

mako27mako
質問者

補足

再びの回答、ありがとうございます。 会社のエクセル2003でもやってみました。 やはり、コンパイルエラー 「Enc Sub、End Function または End Property 以降には、コメントのみが記述できます」 というエラーメッセージウィンドウが表示されてしまいました。 モジュールも分けてみましたが、同じ結果でした。 何か、解決方法がお分かりでしたら教えてください。 よろしくお願いいたします。m(_ _)m

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.6

EXCEL 2003になりますが まず、新規BOOKを作成して 以下のマクロを記述し Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Public Const KEYEVENTF_KEYUP = &H2 Public Const VK_MENU = &H12 Public Const VK_CONTROL = &H11 Public Const VK_TAB = &H9 Public Sub CopyPaste() Dim strCopy As String '現在アクティブなシートの E5 をコピー Application.ActiveSheet.Range("E5").Copy '[ALT]+[TAB]キーを押した時の操作 '直前にアクティブになっていたウインドウに切替ります。 Call keybd_event(VK_MENU, 0, 0, 0) ' Alt キーを押す Call keybd_event(VK_TAB, 0, 0, 0) ' Tab キーを押す Call Sleep(100) ' ちょっと待つ Call keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0) ' Tab キーを離す Call keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0) ' Alt キーを離す '[TAB]キーを押します Call keybd_event(VK_TAB, 0, 0, 0) ' Tab キーを押す Call Sleep(200) ' ちょっと待つ Call keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0) ' Tab キーを離す '[TAB]キーを押します Call keybd_event(VK_TAB, 0, 0, 0) ' Tab キーを押す Call Sleep(200) ' ちょっと待つ Call keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0) ' Tab キーを離す '[CTRL]+"V" キーを押した時の操作 Call keybd_event(VK_CONTROL, 0, 0, 0) ' Ctrl キーを押す Call keybd_event(Asc("V"), 0, 0, 0) ' "V" キーを押す Call Sleep(200) ' ちょっと待つ Call keybd_event(Asc("V"), 0, KEYEVENTF_KEYUP, 0) ' "V" キーを離す Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) ' Ctrl キーを離す End Sub 表示メニュー → ツールバー → ユーザー設定 コマンドタブの分類から、「マクロ」を選択 コマンドから、「ユーザー設定ボタン」をドラッグしてツールバーの任意の位置にボタンを追加 追加したボタンをクリックすると、初回のみマクロ名を聞いてくるので CopyPaste を選択 新規BOOKを保存 実際にコピー作業を行うブックを開いて、E5に文字を入力して ツールバーに追加したボタンをクリック 動作としては、 現在アクティブなシートの E5 をクリップボードにコピー [ALT]+[TAB] を押してEXCELの前にアクティブになっていたウインドウに切替 [TAB] を押す [TAB] を押す [CTRL]+"V" を押す という事をしますので、事前に 自社プログラムをクリックしてアクティブにする その後、EXCELをクリックしてマクロボタンを押せば、たぶん動作すると思います。

mako27mako
質問者

お礼

回答ありがとうございます。 読ませていただくと、なんだか出来そうな気がします。 さっそくやってみたいのですが、今、家には、エクセル2000しかありません。でも、エクセル2000でやってみました。 マクロの自動作成をして、マクロを作り、そのマクロをVisual Vasicの画面にて開いて、上の記述を貼り付ければいいんですよね? そうすると、1行目の Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) の文字が反転されて、 「コンパイルエラー Enc Sub、End Function または End Property 以降には、コメントのみが記述できます」というエラーメッセージウィンドウが表示されてしまいます・・・ これはエクセル2000だから悪いのでしょうか? 会社のエクセルは2003以降だと思うので、会社でやってみたらうまくいきますでしょうか? 来週、時間のある時に会社でやってみたいと思います。 また、教えてください。よろしくお願いします。 m(_ _)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

社内専用システムがどんなものか分かりませんがエクセルのデータをコピーして貼り付けることができTabでセルを選ぶことができるとのことですから、エクセルでできているとします。 その場合には社内専用シートの中でデータを入力する場所をCtrlキーを押しながら選択します。 エクセル2003などの場合でしたら「挿入」から「名前」の「定義」で貼付専用とでも入力します。 エクセル2007などでしたら「数式」タブの「名前の定義」の名前で貼付専用とでも入力します。 別のシートでE5セルをコピーしたのちに社内専用シートに移って、名前ボックスから「貼付専用」を選択することで、複数のセルが同時に選択されますのでCtrl+Vで貼り付けを行うことで選択されたすべてのセルに同時に同じ値を貼り付けることができます。

mako27mako
質問者

お礼

回答ありがとうございます。 たぶんで申し訳ないのですが、社内専用システムはエクセルで出来てはいないように思います。 それから、複数のセルに同時に同じ値を貼り付けたいのではなくて、 何度も繰り返し、社内専用システムのある入力エリアにその都度違う値を貼り付けたいのです。、 質問内容の説明がうまく出来ていなくてすみませんでした m(_ _)m

回答No.4

WSHでsendkeysを使えば、似たイメージのことはある程度可能です。 こちらが参考になります。 http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh12/cformwsh12_02.html

参考URL:
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh12/cformwsh12_02.html
mako27mako
質問者

お礼

回答ありがとうございます。 参考ページを見てみましたが、私の頭では難しすぎて理解できませんでした。 すみません。m(_ _)m  

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

社内専用システムと(社内LAN)エクセルとはプログラム世界では別です。プログラムで社内専用システムを「外から」プログラムで動かそうとしても無理。 思っても見てください、出来る(と仮定すると)ようなことなら、セキュリティなんかもたまったもんじゃない。ファイルが全部書き換えられる事態もありえる。 プログラム一般に、大掛かりな仕組みを作らないと、他のプログラムを動かすのは不可能です。MSが全社挙げて、大掛かりな仕組みを作ったので、オフィス(主に個人ユース前提で)などで、VBAなどで動かせる例が有るが、普通は大変難しいことです。 コピーさえも、一般ユーザーは慣れて、当たり前の単純なようだが、裏では大変な仕組みが働いているはずです。 社内システムの作成者の許可を・助力を得ないと出来ないと思ってください。 ーー 私も社内正式システム(操作者が画面に手入力を前提)へ、別途作成データファイルを自動で、流し込みたくて、ある会社のBASICの付加機能で画面インターフェイスと言うのを使ってやった記憶がありますが(25年前)、今はそういう考えはVB系では無いようです。 それが出来ると、会社側からすると危険がいっぱいの面があります。 似たようなソフトは有るようですが。

mako27mako
質問者

お礼

回答ありがとうございます。 地道にがんばります。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

システムの作られ方がわかりませんが… >何千回と行う作業ですので~~ 作業を省力化するのは賛成ですが、現在行っている手作業の作業(エクセル→ブラウザ?)をそのまま自動化するというよりも、元のデータ→目的のファイル(またはデータべース)へと直接転記することを考えた方が良いのではないでしょうか?(データチェックなどは必要でしょうが…) 元のデータはどのようにして作成されているのか不明ですし(エクセルで手作業で作成されているものなのだろうか?)、ブラウザ(?)に入力したデータがどの様に処理されているのかも不明ですが(何かのデータベースに記録されているのか?)、始まりと終わりをダイレクトに結べれば、途中のその他の作業(あるのかないのか不明ですが)もまとめて省力化できます。 …というか、「何千回もの」作業をそれなりの頻度で行わなければならないという、元のシステムそのものを改良してもらうのが一番よさそう。 そのシステムの管理者に、相談なさるのがよろしいのではないでしょうか?

mako27mako
質問者

お礼

回答ありがとうございます。 やはり、そうですよね~ でも、あいにく私は、社内専用システムを持っている会社の仕事を委託で請け負っている会社へ派遣されて働いている立場なので、社内専用システムに働きかけることはできないようです。 私の派遣されている委託会社の上司にも言ってみましたが、なんせ委託されている仕事を言われたとおりにするのが私たちの仕事なので、無理だと言われました。(;。;)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.1

こんにちは。 何千回とは大変ですね。 社内専用システムがどの様なものかにもよりますが、データベースがあるはずです。そのDBとコネクトできれば容易に質問者様のしたいことは可能だと思います。 ただし、その方法は危険を伴いますので、御社のシステム管理者さんとお話された方が良いかと思います。

mako27mako
質問者

お礼

回答ありがとうございます。 私がシステム管理者の方に話ができる立場なら良いのですが、あいにく私は、社内専用システムを持っている会社の仕事を委託で請け負っている会社へ派遣されて働いている立場なので、社内専用システムに働きかけることはできないようです。(;。;)

関連するQ&A

  • エクセルのデータを自動的にWebに入れるには?

    いつもお世話になっています。 エクセルのデータをホームページに入れる時、決まった動作の繰り返しをするので、これを自動化することは出来ないでしょうか?VBAだとエクセル内部でしか出来ないのではないでしょうか? こういう操作です。 エクセルの場面でセルをCtrl+Cでコピーして、リターンキーを押して(セルが次のセルへ飛ぶ)、Alt+TabでWeb画面へ移動して、Ctrl+VでWebにエクセルの数値を貼り付けて、Tabキーを数回(回数は一定)押して次の入力欄へ移動させて、Alt+Tabでエクセル画面へ戻って、またCtrl+Cでコピー。 この繰り返しでエクセルの数値をWeb画面に入力するのです。このような定型的な動作はコンピューターが得意とするはずですが、VBAでは実現できない(と思う・・。エクセルの外部にまで操作出来るのでしょうか?)。 何か方法があるはずですが、ご存知の方がいらっしゃればよろしくお願いしたします。

  • 転記作業を自動化できないか

    こんな作業を自動化・高速化できないでしょうか。 ある入力フォームについて、Excelデータから転記する作業をしています。その入力フォームには縦横に入力用テキストボックスが並んでいるわけですが、横方向の入力をする場合 ExcelファイルのA1セルをコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 貼付け(Ctrl+V) → Excelをアクティブに(Alt+Tab) → ExcelのB1セルへ移動(Tab)してコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 次のテキストボックスへ移動(Tab)して貼付け(Ctrl+V) ・・・というのを繰り返してやっています。非常に単純な機械的繰り返し作業なので、なんとか自動化できないでしょうか。 ちなみにA1セル~B1セルを一度にコピーしてテキストボックスに貼付けても、2つのテキストボックスに一度に貼付けられたりはせず、1つのテキストボックスにしか貼付きません。また、データの自動取込み機能などは、その入力フォームにはありません。

  • エクセルの「読み取り専用」について

    知り合いの作った、エクセルの表を開こうとすると、読み取り専用で開くか、普通に開くかの選択画面が出てきます。うざったいので、これが出てこないで普通に開ける方法を教えて下さい。

  • 社内システムへの入力を簡素化するツールを作りたい

    質問です 在庫管理する社内システムの入力を簡素化したいのです 数値を入力する箇所は3箇所くらいなんですが仕様書1枚ごとに支店名や部署を選択したり 入力数値も自分で計算するという方法を取ってます これが毎日30枚程度あるので思いのほか時間を取ってしまいます 社内システムなので勝手にいじることはできませんが そのシステムの3箇所に数値を入力し、支店名や部署は自動で選択するツールは簡単に作れないものでしょうか?

  • OCRシステムを利用したデータ取り込みについて

    会社の自社システムへのデータ入力作業が膨大で非常に大きな作業負荷になっています。入力手順としては券面上にかいてある情報(英数字)を自社システムのデータ入力画面に打ち込んでいます。スキャナを利用したOCRというソフトで券面上の文字を文字データとして取り込めるという話を聞いたのですが、ワード・エクセル等のoffice製品ではなく自社システムのデータベース画面に取り込めるようなソフトもあるのでしょうか?ご存知でしたら教えていただけると幸いです。

  • エクセルのマクロで他のシステムを動かせますか?

    エクセルのマクロで他のシステムを動かせるのか知りたいのですが、どなたか教えていただけませんでしょうか? 私は事務仕事をしています。仕事のひとつにデータの入力作業という仕事があります。これは会社が昔から使っているシステムのデータをエクセルに打ち直すという作業です。ひたすらコピーをする作業なのですが、毎日3時間くらい行うのでとてもしんどいです。 そのデータ入力作業を自動で行えないかと思いあれこれ調べていたところ「マクロ」というキーワードをみつけました。このマクロを使って他のシステムのデータをエクセルにコピペする作業は可能でしょうか?

  • EXCELのデータをACCESSに貼り付ける方法

    エクセル表のある部分のデータをコピーして、ACCESSのテーブルに貼付けたいのですが、インポートやエクスポートなど面倒な作業ではなく、<Ctrl+C>+<Ctrl+V>で簡単に行いたいと思っております。ACCESSからエクセルへはコピーペーストできるのですが…。以前、同じような質問を見かけた気がするのですが、探し出せませんでした。どなたかお教え下さい。

  • EXCEL(エクセル)のデータをWebフォームへ入力

    エクセルの行(複数セル)に入力したデータがあります。 この複数セルの選択した部分を、Webフォームのテキスト入力欄へ連続して入力したいです。 (入力 → Tab → 入力 → Tab → 繰り返し… のような) エクセルシート A列    B列    C列    D列    E列      【りんご   みかん   もも】←セルの選択範囲 Webフォーム テキスト入力欄1[りんご] テキスト入力欄2[みかん] テキスト入力欄3[もも] Webフォーム上にはいくつものテキスト入力欄があり、点滅カーソルのある入力欄からペーストを開始したいです。 また、エクセルで参照するデータも何種類もあり数が変動しますので、決まったセル範囲ではなく、その都度アクティブセルを指定したいです。(行は1行です。) 以上のようなことはマクロで可能でしょうか? マクロに詳しくないので、実現可能なコードを教えていただけると、大変助かります。 どなたかお詳しい方、よろしくお願い致します。

  • access:連続データ入力

    いつも助かってます。 accessのテーブルで200件位のレコードに同じデータを入力したいのですがどうすれば良いのでしょうか。 実際このテーブルは500レコード位持っています。 エクセルみたいにマウスで選択してctrl+↓でぴゃーっとコピーされる。。みたいなことは出来ないだろか。 よろしくお願いします。

  • 連続データの作成(E)が選択出来ません。どうすれば !

    エクセルのオートフィル機能:連続データの作成 について、教えてください。 エクセルに数値を入力する作業をしています。 毎回、与えられたエクセルファイルの指定された一つの列に、数値を入力してゆく作業です。 例えば、1 2 3 ・・・ 100 といった連続したデータを入力する際、つい、昨日までは、最初のセルに1を入力した後、そのセルの右下から、マウスの右をおさえた状態で下へドラッグし、「連続データ(E)」というのを選び、100までのデータを取得していました。 ところが、今日与えられたエクセルファイルだと、出来ないのです。 つまり、先ほどの例で言うと、1を入力したセルの右下からマウス右をおさえたままドラッグしても、「連続データ(E)」というのが薄いグレー文字のままで、選択不可能なのです。 どうすれば、昨日までのように出来るのでしょうか? 初心者ですが、どうぞ、よろしくお願いします。

専門家に質問してみよう