質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

4回答

2285閲覧

Visual Studio Express 2015のC#で他アプリに表示されている値を取得してエクセルに貼り付けたい。

teraemon

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2017/05/17 07:54

編集2017/05/17 13:02

Visual Studio Express 2015 for Windows Desktop、Windows 8、Visual C#で開発中です。
やりたい事としては他アプリケーション(例:電卓)で表示されている値を開いているエクセルのカーソルがあるセルに転記したいです。
それをVisual Studio Express 2015 for Windows DesktopのVisual C#で開発しようと思っていますが具体的にどう実装すべきかイメージがわかずに悩んでます。
教えて頂けないでしょうか?
よろしくお願いします。


1電卓とエクセルを開いておく
2電卓で5を押す
3開いていたエクセルのカーソルがあるセルに5と転記する

追記
下記のようなものにエクセルへの転記処理を追加したいと考えております。
ちなみに私はC#もVisual Studio Express も初心者です。

https://m.chiebukuro.yahoo.co.jp/detail/q1278426337

あと他アプリケーションは特定のもので、表示されたら取得してエクセルに貼り付けたいです。
宜しくお願い致します。

指摘について追記致します。
キー入力ではなく、表示されます。
特定のアプリケーションは他社が開発した独自のアプリケーションになります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2017/05/17 08:45

タイトルは C# となっていますが、C++ の質問であるように思います。タイトルを修正してください。
Zuishin

2017/05/17 08:50

それと、この一連の処理で一番困難なのは他アプリケーションで表示されている値を取得するところです。他アプリが自作なのかすでにあるものなのか、特定の物なのかどんなものでも対応したいのか、によって難易度が大きく変わります。また、表示されたものなのか押されたキーを取得するのかによっても処理が変わります。このあたりを具体的に書いてください。
teraemon

2017/05/17 11:26

ご指摘ありがとうございます。C#で間違いありません。
Zuishin

2017/05/17 11:27

C# と C++ は全く違うものです。C++ が間違いならそちらを書き直してください。
Zuishin

2017/05/17 11:30

まだ Visual C++ と二回書いてあります。
Zuishin

2017/05/17 11:32

アプリケーションは特定のものと書いてありますが、どのアプリケーションかによって処理が違います。また再度書きますが、表示なのかキー入力なのかによっても違います。
Zuishin

2017/05/17 12:07

あと、タグの Visual C++ も削除して C# に変えてください。使い捨ての検索と違い、teratail の質問は、質問と回答が後に同じ問題を検索する人に役立つようにするようになっています。
teraemon

2017/05/17 13:03

ご指摘ありがとうございます。修正しました。すみませんでした。
guest

回答4

0

こんにちは。

アプリケーションソフトウェアには「API」という概念があります。これは、アプリケーション側が「自分のアプリの機能を外から呼び出せるようにする」目的で提供する機能、仕様のことであり、いわゆる窓口のようなものです。
質問にあるアプリケーションがAPIとして必要な機能を提供しているのであれば、それを利用することで目的を達成することが出来ると思います。まずは、アプリケーションの仕様を確認してみてください。

しかし、もしAPIが提供されていない場合は、残念ですが目的の達成はほぼ不可能だと思っていいです。
仮にAPIを介さずアプリケーションを利用するには、アプリケーションが内部に隠し持つデータや機能にアクセスすることになり、これは世間一般的な言い回しでの「ハッキング」であり、実現には相当な技術力を必要とします。また、「アプリ」という箱の壁、セキュリティの境界を破って「侵入」するイメージに近く、環境によってはその行為自体がウイルスと認定される可能性もあります。

投稿2017/05/17 12:15

tamoto

総合スコア4103

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teraemon

2017/05/17 13:06

ありがとうございます。 連携しようとしているアプリケーションにAPI機能があるかまず確認してみます。
guest

0

ベストアンサー

電卓の計算結果をエクセルに貼り付けたいということと読みました。
結論から言うと、そのアプローチでは非常に困難です。
無料で作ってあげられるようなものでもなく、質問者さんの今のレベルでは無理でしょう。

そこでお勧めするのが、電卓を作成するということです。
C# で電卓を作るのはとても簡単です。

もっとも Excel には計算機能があるので、それすら無意味な気もしますが。

投稿2017/05/17 11:39

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2017/05/17 13:08

電卓ではなく他社開発のアプリということであれば、どのように表示しているかを詳しく調べなければならず、表示の方法によっては外部から取得することはできません。 事実上無理だと思ってください。
guest

0

Windows API関数の中には、名前やウィンドウクラスから目的のウィンドウのハンドルを得るものや、ウィンドウメッセージを送信するものがあるため、やりようはあるのかと思います。ただ、やはり他人の作ったアプリケーションを勝手に操作するマルウェア的な動作は、勧められるものではないのでしょうね。

[追記を受けて]
もし電卓として使えるものであればよいのなら、OfficeアドインやVBAでExcel上で動く電卓的なものを作ってしまう、などということも可能かも...と思いましたが、特定の代替のきかないアプリケーションと連携したいのであれば難しそうですね。
C#、Visual Studioも初心者とのことですが、その他の開発経験はおありでしょうか。もしいずれも初めてとなると、なかなかハードルの高い課題になりそうです。

投稿2017/05/17 10:59

編集2017/05/17 11:55
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teraemon

2017/05/17 13:05

ありがとうございます。 PHPと少しJavaの経験があります。
guest

0

Windowsに付属する電卓には外部連携用のAPI等は無いため、ハッキングして動作やメッセージを解析する必要があります。
苦労して実装できたとしてもセキュリティソフトにスパイウェアとして検出される可能性が高いです。

投稿2017/05/17 09:11

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teraemon

2017/05/17 13:08

ありがとうございます。 そうですよね、追記で記載したURL(知恵袋)のような処理にエクセルへの転機処理を追加したいと考えていたのですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問