
Visual Studio Express 2012 for Desktop C# で
プログラミングを学習していますが、
ウェブページからコピペしてきた多くのソースコードが
(using からソースのままなのに)ビルドできません。
おそらくソースコードがASPなどを
用いているから?だと思うのですが、
プロジェクト→新しいデータソースの追加→オブジェクト
からSystem_Windows_Formsを参照しようとしても
".NETアセンブリへの参照を追加してください"と
メッセージが出て追加できません。
そこで質問ですが、.NETアセンブリは
どうやって、どのファイル?を参照に追加すればいいのでしょうか。
プログラミングについて疎く、
文章があってるかどうか わかりませんが、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
少なくとも、そのプログラムにASPは関係ありません。
> "プロジェクト→参照の追加"からSystem.Windows.Formsを追加しようとした
具体的にどのように操作したのでしょう?
追加の画面の「.NET」から「System.Windows.Forms」を選んで追加
としましたか?何かのDLLファイルを直接指定するようなことはしていませんか?
また、そのプロジェクトはどうやって用意しましたか?
Windowsフォームプロジェクトを最初から選べば、参照も元から追加されているはずです。
> どの語を使うときusingを追加するか、とか記述規則など、本当は手順を踏んで学習していきたいのですが、
> そういったことが掲載されていて なおかつ理解できる書籍やサイトがない
VSに付属のヘルプや、MSDNのサイトがありますが。
例えば、 Point でエラーになる件ですが、 .NET Frameworksの Point を検索すると
http://msdn.microsoft.com/ja-jp/library/system.d …
が見付かります。4.5のものは今現在は機械翻訳のもので、ちょっとあやしい日本語になっていますので英語で読むのがよいでしょう。
また、過去のバージョンの資料も読めます。例えば3.5なら
http://msdn.microsoft.com/ja-jp/library/system.d …
です。
で、マニュアルですが、必ず次のような記述があります
> 名前空間 : System.Drawing
> アセンブリ : System.Drawing (System.Drawing.dll 内)
usingに使うのは「名前空間」です。usingで使わないなら、 System.Drawing.Point のようにして使います。
アセンブリは、参照に追加しなければならないものです。
> 当面の目標は、特定のウェブページからキーワードを拾ってExcelに出力することで、
> そのためにマウスの右クリックなどをプログラムから使いたいと思っています。
どんなことを目指しているのか、ちょっとよくわかりません。
もし、「IEの画面にマウスを移動させて右クリック→コピー」をプログラムから行いたい、ということなら、 UWSCのような自動操作用ツールを使うのが楽です。逆にC#でどこまでできるか不明です。
データが欲しいだけなら、直接ダウンロードしてHTMLを解析して必要な部分を抜き出す、という方法もあります。
これらは「ウェブスクレイピング」(あるいは単にスクレイピング)と呼ばれるものです。
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7% …
Microsoftのページは時々見ていましたが
改めて探ってみてプログラミングガイドの存在に
今更気づきました。
これなら理解できそうで、内容も豊富なので読んで勉強します。
作ろうとしていたマウスの動作は、プログラムとツールを
組み合わせて望むものができました。
ですので、質問を締め切ることにします。
おかげさまでとても助かりました。ありがとうございました。
No.1
- 回答日時:
あなたは、何をするために、何をしようとしているのですか?
それがまったく不明なので、回答のしようがありません。
> ウェブページからコピペしてきた多くのソースコードが
> (using からソースのままなのに)ビルドできません。
どう「ビルドできません」なのでしょう?
エラーメッセージを読んで、何が原因なのかをはっきりさせましょう。
コピペして動いた動かない、だけでは、ただの「作業」です。
中身を確認し、理解するのが勉強です。
単純に、コピペミスで、余計な文字が入っていたり、必要な部分が切れてしまっただけかもしれません。
コピペは正しいとしても
・それ単独で動作するプログラムではない。それを呼び出す別のコードが必要
・元々のコードにミスがあるので、コピペしても動かない
・4.5用なので2010では対応していない
等々と「ビルドできない」「動かない」原因は沢山考えられ、それぞれに対策が違います。
> おそらくソースコードがASPなどを
> 用いているから?だと思うのですが
「おそらく」ではなく、ちゃんとした根拠で結論を出してください。
> プロジェクト→新しいデータソースの追加→オブジェクト
http://msdn.microsoft.com/ja-jp/library/w4dd7z6t …
これは、データベースやその他の「データ」に接続するための方法です。
ASPとは基本的に関係ありません。
そもそもあなたの目的は「データベース等に接続する」ことですか?
ビルドに必要なライブラリが参照されていない場合は、こちらです
http://msdn.microsoft.com/ja-jp/library/wkze6zky …
これもやたらと「追加」したらいいというものではありません。
下手に追加すると、ライブラリ同士が衝突してかえってエラーを増やしてしまうこともあります。
この回答への補足
マウスをプログラム上の記述どおりに操作するプログラムを作ろうとしています。
そこでとりあえずマウスのX,Y座標を取得するプログラムを試しています。
コピペではなくなってしまいましたが、↓がProgram.csの全文です。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics; //inputidle動作
namespace st6
{
public class ProcessStart
{
static void Main()
{
int X = System.Windows.Forms.Cursor.Position.X; // X 座標 の取得
int Y = System.Windows.Forms.Cursor.Position.Y; // Y 座標 の取得
Point pos = new Point(100, 250);
System.Windows.Forms.Cursor.Position = pos; // 座標(100, 250)に設定
}
}
}
今出ているエラーは↓です。(Main中の各行について)
--------------------
型または名前空間名 'Forms' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。
型または名前空間名 'Point' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
--------------------
System.Windows.Forms.を参照に加えれば前者のエラーは取り除けるのではないかと考え、
"プロジェクト→参照の追加"からSystem.Windows.Formsを追加しようとしたものの、
".NETアセンブリへの参照を追加してください"とメッセージが出て追加できないので行き詰っています。
追記:
どの語を使うときusingを追加するか、とか記述規則など、本当は手順を踏んで学習していきたいのですが、
そういったことが掲載されていて なおかつ理解できる書籍やサイトがないので、
動作するプログラムの内容を解読して理解しようとしている次第です。
当面の目標は、特定のウェブページからキーワードを拾ってExcelに出力することで、
そのためにマウスの右クリックなどをプログラムから使いたいと思っています。
もしこの目的に叶う、推奨する本やURLがありましたら教えていただけませんか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- Excel(エクセル) Excelのマクロについて 1 2023/04/17 17:22
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- C言語・C++・C# 「using Windows」でエラーが出る 3 2022/12/23 19:53
- Excel(エクセル) 列の最終行に新たに入力されたらその値を自動参照 1 2023/01/21 09:59
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
ACCESSで参照設定が参照不可に...
-
VB.NETで参照設定したDLLの修正...
-
VB.NETでDLLを読み込ませる時に...
-
MS Visual Studio 6.0のEnterpr...
-
VB2010で作成したソフトのexeフ...
-
VB6.0で作成したプロジェクトの...
-
C#ソースをCSCファイルにてコン...
-
.NET framework2.0には1.1が含...
-
msvcr120d.dllがないというエラー
-
ActiveMovie Control Objectを...
-
Windows10のVBAでDirectX 8が使...
-
VS.NETからDependencyWalkerは...
-
VBでの実行時エラー’429’について
-
VSexpress2010で参照を追加する
-
DLLを作成してVBAから使用する...
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
VBAでArrayListを使う為の「msc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
VB.NETで参照設定したDLLの修正...
-
IT初心者です 仕事で、vb.netで...
-
オブジェクト(dll)のレジストリ...
-
VB.Net リビルド 意味不明なメ...
-
C#ソースをCSCファイルにてコン...
-
Using System.Drawing がうまく...
-
ビルドが実行できない 先へ進...
-
VB.NETでDLLを読み込ませる時に...
-
Windows10のVBAでDirectX 8が使...
-
VB2008→VB2010でエラーが出てま...
-
VBAの参照設定について
-
DLLを作成してVBAから使用する...
-
VB2010で作成したdllからtlbが...
-
SOAP通信。恥を忍んで質問させ...
-
MS Visual Studio 6.0のEnterpr...
-
VB6.0で作成したプロジェクトの...
-
VBAからDLLをCALLしたいのですが
-
C#でSystem.IO.FileFormatEx
おすすめ情報