vb2010でWindowsアプリを作っている初心者です。

ある文字列を与えたテキストファイルを生成しようと思い、以下のコードを書きました。
VB2010の環境で実行すると、テキストファイルはできないし、何も動作しません。

同様のことを別のPCのVB2005(VS2005)で実行するときちんとファイルが生成しました。

VB2010ではエラーは出ないのですが、動作しません。
何かの参照が悪いのでしょうか。

「sw」のところにカーソルを当てると貼付の画像の内容でした。
「書き込み専用プロパティはサポートされていません。」
と表示されていますが、これと関係あるのでしょうか。

この言葉の意味がよくわかりません。

よろしくご指導下さい。




以下コード ↓

Imports System
Imports System.IO


Public Class formExportData

'プリント ボタン クリック
Private Sub btnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExport.Click

Dim sw As StreamWriter
sw = New IO.StreamWriter("C:\Users\Taro\Desktop¥Hoge.txt", False, System.Text.Encoding.Default)
sw.WriteLine("テストしています。")
sw.WriteLine("この文字がプリントされる。")
sw.Close()

End Sub

「VB2010で動作しない」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (1件)

貼り付けられている画像は字がつぶれてしまっていて読めないのですが、とりあえず今回の問題とは関係ないと思います。



C:\Users\Taro\Desktop

の中でなく、

C:\Users\Taro

の中に、

Desktop¥Hoge.txt

というファイルができているとおもいます。
Desktop¥Hoge.txt の "¥" が全角になってるみたいですね。
    • good
    • 0
この回答へのお礼

tsukasa-12rさん、大変ありがとうございました。

ご指摘の通り
C:\Users\Taro
の中に、
Desktop¥Hoge.txt

ができていました。

それにしても「\」が全角とは気がつきませんでした。
いまメモ帳に貼り付けてみましたけど、見た目は半角のままです。

こんなところにも気を使わなければならないわけですね。

いや、ビックリです。

本当にありがとうございました。

お礼日時:2011/04/23 09:26

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QiTunesでアルバム名などを編集したいのですが、たとえば2枚のCDか

iTunesでアルバム名などを編集したいのですが、たとえば2枚のCDから、何曲かずつ選び、1つのアルバムに仕上げたいのですが、どうしたら良いのでしょうか?

プロパティのアルバム名を統一すればいいのかと思ってたのですが、それだと一番上の、項目名部分の列にあるアルバム名が変わるだけで、実際には、2枚分のアルバムとして表示されます。同一アーティストの同名アルバムとなるか、片一方が「不明なアルバム」となります。 ※この「不明なアルバム」は編集不可能。

もちろん、ディスクトラックを「1/1」にしたり、記入なしにしても変わりません。

iTunesでは、2枚のCDから1枚のアルバムを作ることはできないのでしょうか?
(私はただ、コンピ盤から、公式発表アルバムと同じ順番になるのを作りたいのです)

Aベストアンサー

> 見た目にはすべて同じアルバム名になるのですが、1枚目と2枚目のCD、それぞれ別にくくられるのです。


すぐに思い浮かぶ可能性としては、
・ディスク番号が、1枚目が1/2、2枚目が2/2、になっている。
・1枚目と2枚目のアルバム名が、同じに見えて実は微妙に違う。
・片方にだけ、アルバム名にふりがながふってある。
・片方にだけ、アーティストとは異なるアルバムアーティストが設定されている。
が考えられますね。

QVB.net2003のアプリをVB2010で動かせるようにしたい

VB.net2003のアプリをVB2010で動かせるようにしたい

VB.net2003で作られたアプリですが、windows Vistaや7では動作しないというバグが発生した為、
開発環境を最新のVB2010にして動作するようにしようとしています。
プロジェクトを開くと自動的に変換をかけてくれるのですが、リビルドをかけると
添付のようにエラーが1つ発生して他にもワーニングが山のように出てきます。

vbって基本的にはアッパーコンパチだった思ったのですが、
別バージョンで動かすのはムリなのでしょうか?

Aベストアンサー

ワーニングが大量にあると面食らうのはわかりますが、注意深く確認すれば、ワーニングの原因は結構ささいな言語仕様の違いによるものの場合が多いですよ。
ワーニングは所詮ワーニングなので、無視することも可能ではあります。(おすすめはしませんが。)

添付画像からはエラーの内容が不明瞭なので、なんともいえないのですが、とりあえずワーニングを取り除く作業に着手してみてはいかがでしょうか。

.NET Frameworkのバージョンも違うわけですし、完全な上位互換を期待するのはあきらめた方がよいです。

Q多くのmp3ファイルのアーティストやアルバム名、年などの情報を簡単に編集できるソフト

mp3ファイルのプロパティの概要にある、アーティスト、アルバムのタイトル、トラック番号、年、ジャンルなどを簡単に一括編集できるソフトってありますか?
ご存知のかたいましたらよろしくお願いいたします。

Aベストアンサー

タグ打ちはこれを使っています。
http://www.forest.impress.co.jp/lib/pic/music/mp3/step.html

QVB2010 シリアル通信の文字列を分けたい

ふたつの温度計があって、室温が23度外気温が18度の場合、
シリアル通信によって2318としておくられてきます。
そしてこれがTextBox2に2318と表示されます。

Delegate Sub DataDelegate(ByVal sdata As String)
Private Sub PrintData(ByVal sdata As String)
TextBox2.Text = sdata
End Sub

ここまではなんとかうまくいきました。ここからが質問なんですが、
このsdataをTextBox3とTextBox4に23℃、18℃と分けて表示したいのですが
うまくいきません。substringを使って、

 sdata = sdata.Substring(0, 2)
 TextBox3.Text = sdata

などとやってみましたが
「インデックスおよび長さは文字列内の場所を参照しなければなりません。」
とエラーとなってうまくいきません。どう書いたらいいのかおしえてください。

尚、シリアル通信は改行コードを頭につけて、\r\n2318 と連続的に送られてくる
んですがこれが問題なんでしょうか。

ふたつの温度計があって、室温が23度外気温が18度の場合、
シリアル通信によって2318としておくられてきます。
そしてこれがTextBox2に2318と表示されます。

Delegate Sub DataDelegate(ByVal sdata As String)
Private Sub PrintData(ByVal sdata As String)
TextBox2.Text = sdata
End Sub

ここまではなんとかうまくいきました。ここからが質問なんですが、
このsdataをTextBox3とTextBox4に23℃、18℃と分けて表示したいのですが
うまくいきません。substringを使って、

 s...続きを読む

Aベストアンサー

>と二行あけて4プラスデータが縦に連続的に表示されます。

2行空けて が何なのか気になりますが。
最初の表示の分は何のかも。

sdata には、4文字しか入っていないようなので。

Private Sub PrintData(ByVal sdata As String)
  TextBox2.Text = sdata
  TextBox3.text =sdata.Substring(0, 2)
  TextBox4.text =sdata.Substring(2, 2)
End Sub

で取得できるはずですが。

又は、
Private Sub PrintData(ByVal sdata As String)
  TextBox2.Text = sdata
End Sub
で、TextBox2.Text には、2318 と入っているのなら

Private Sub PrintData(ByVal sdata As String)
  TextBox2.Text = sdata
  TextBox3.text =TextBox2.text.Substring(0, 2)
  TextBox4.text =TextBox2.text.Substring(2, 2)
End Sub

でも同じように取得できるはずです。

>と二行あけて4プラスデータが縦に連続的に表示されます。

2行空けて が何なのか気になりますが。
最初の表示の分は何のかも。

sdata には、4文字しか入っていないようなので。

Private Sub PrintData(ByVal sdata As String)
  TextBox2.Text = sdata
  TextBox3.text =sdata.Substring(0, 2)
  TextBox4.text =sdata.Substring(2, 2)
End Sub

で取得できるはずですが。

又は、
Private Sub PrintData(ByVal sdata As String)
  TextBox2.Text = sdata
End Sub
で、TextBox2.Text には、231...続きを読む

Q自炊pdfの効率的なプロパティ編集方法は?

自炊した pdf のプロパティを編集したいです。PDForsel などでは一ファイルごとに順番にプロパティの編集となりますが、たとえばフォルダ単位などで編集できる editor があれば、ご教示いただければと思います。

環境としては windows 7 の標準環境だと思っていただければ結構です。不明な点はお問い合わせいただければと思います。

Aベストアンサー

「プロパティ」という用語は、Wikiで見ると”コンピュータ、ファイル、アプリケーションの設定などの情報を保持した属性のこと」と書かれているとおり、一般的には”属性”のイメージで使っています。

自炊したpdfとは、文書をスキャナーにかけてpdf化したものだと理解しますが、その出来上がったpdf文書の属性そのものがプロパティなんですから、プロパティを編集と言われても・・。

ご質問の「プロパティの編集」という言葉の使い方が何を言おうとされているのか、回答者には分からないのではないでしょうか。

QVB2010 変数に格納する文字列を増やす

単純なことなのですが、、、どうしても方法が思い浮かびません。
下記のプログラムでは2735回変数にDataGridの値を格納
していますが、本来行いたい処理は
Dataの中に2735回出た結果を文字列として連結したいです。
(たとえば..1回目でA 2回目でBと出た場合、DataにAB)
方法をご教授下さい。

For Row=0 To 2734
Data=Me.DataGridView1(CC,Row).Value
Next

Aベストアンサー

Data &= Me.DataGridView1(CC,Row).Value

または String.Concat を使う
Data = String.Concat(Data, Me.DataGridView1(CC,Row).Value)

または高速処理が可能な StringBuilder を使う
Dim sb As New System.Text.StringBuilder()
For Row = 0 To 2734
sb.Append(Me.DataGridView1(CC,Row).Value)
Next

Qwavファイルに対応し、且つ「アルバムアーティスト」を編集できるタグ編

wavファイルに対応し、且つ「アルバムアーティスト」を編集できるタグ編集ソフトはありませんか?

音楽ファイルの整理をしているのですが、wavファイルのアルバムアーティストを編集できるソフトが
見つからず困っています。

どちらか片方に対応したソフトならあるのですが・・・

Aベストアンサー

wavファイルの中には、MP3でいうところのid3みたいなタグ情報を持つ場所が用意されていないので、そういうソフトは作れません。

独自にwavファイルを拡張してid3相当の情報を持たせたり、タグ情報を別のファイルに持たせるといった方法は考えられなくはないですが、他のソフトではそのタグ情報は当然無視されますし、勝手に拡張したファイルを読ませた時に不具合が出るなど、その作成したソフトでしか通用しなくなってしまうので、wavである必然性もなくなります。

QVB2010 TextBoxの文字列に正しく入力されないのは何故ですか

VB2010 TextBoxの文字列に正しく入力されないのは何故ですか?

string型の変数に文字列を入れ、TextBox.Textに代入すると文字列の後ろが切れてしまう。
Dim st As String
st="s01114DG000555<0?e09"
TextBox.Text = st

この場合、TextBox.Textには"s01114DG000555<0"となり、後ろの4文字が切れてしまっている。
ちなみに、
TextBox.Text = "s01114DG000555<0?e09"
とすると、正常に全文字数が入る。
半角文字列の塊なのに、どうしてこのようなことが起きるのでしょうか?

また、これの対応策は何ですか?
以上、よろしくお願いします。

Aベストアンサー

問題なくキチンと最後まで表示されますよ。
他に st という変数を使っていませんか?

新たなプロジェクトで、そのコードだけを試しても同じ結果になりますか?
それでも同じ結果なら、詳しい Version 等を明記して下さい。

Q鉄道写真 アルバム編集のコツ

僕は最近鉄道写真をアルバムにいれて見ているのですが、その時何か編集のコツなどあったら教えてください。
ちなみにアルバムはプリントするとサービスでもらえるアルバムです。
回答よろしくお願いします。

Aベストアンサー

コツなんぞないですが、私が知る限りでは。

撮影地などで他人に見せて話題にするような場合は、比較的最近の撮影
を多数箇所持ってくる場合が多いですね。例えば「なは・つき」「銀河」
「みまさかスローライフ」「6連パノラマ」とかを1枚ずつ突っ込むとか。

自分で保存する場合は、私は時系列で保存していますが、撮影地ごとに
整理されている方も多いみたいです。20年分の「サントリー前通過列車
の変遷」なんて見ごたえがありました。

いずれにせよ、銀塩ならネガ、デジなら撮影データは別途保管できるの
ですから、アルバムに入れるのは「撮影したコマ全部」である必要はあり
ません。ベストショットだけで充分です。

ちなみに、写真の裏に日付・撮影地・撮影データ・元になるネガ番号や
フォルダ名を書いておくことを忘れないように。アルバムから元のネガ
を探す場合や、何らかの理由で写真だけ散逸した時の用心です。

QVB2010の、Formを開く動作に関する質問です

VB2010のFormについてお聞きしたいことがあります。


例えばForm1とForm2の2つがあるとして、
・Form1上のボタンをクリック後Form2が表示される
・Form2を表示後Form1は自動で閉じられる。
この様な事をするにはどの様に行えばよろしいでしょうか?

試しに、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Form2.Show()
  Me.Close()
End Sub
と、してみたのですが
Form2が表示された直後に1と2両方消えてしまいました。


改善方法を教えていただけると嬉しいです。
よろしくお願いいたします。

Aベストアンサー

Form1から Form2へ遷移して Form2からForm1へ戻るのであれば

Me.Close()
では無く
Me.Hide() または Me.Visible=false
としてみましょう

戻るときは
Application.OpenForm("Form1").Visible = True または Application.OpenForm("Form1").Show()
でいいと思います

戻る必要がないのであれば
IDE(統合環境)のメニューから

プロジェクト > 一番下の開発中のプロパティ > アプリケーションタブ >シャットダウンモードを
最後のフォームが閉じたとき に変更しましょう


人気Q&Aランキング

おすすめ情報