goo blog サービス終了のお知らせ 

Visual Studio VB.NET Tips 集

プログラミング集です。
メインはVisual Basic .NET でございます。

Excel

2011-05-31 21:35:59 | 日記
private void button1_Click(object sender, EventArgs e)
{
//1データごとの行数
int RowCount = 7;
int ColCount = 5;


int StartCol1 = 2;
int StartCol2 = ColCount + StartCol1;
int StartCol3 = ColCount + StartCol2;

Excel.Application oXls = new Excel.Application(); // Excelオブジェクト

string excelName = "C:\\Users\\x300\\sample.xls";

Excel.Workbook oWBook; // workbookオブジェクト
oXls.Visible = true;
// Excelファイルをオープンする
oWBook = (Excel.Workbook)(oXls.Workbooks.Open(
excelName, // オープンするExcelファイル名
Type.Missing, // (省略可能)UpdateLinks (0 / 1 / 2 / 3)
Type.Missing, // (省略可能)ReadOnly (True / False )
Type.Missing, // (省略可能)Format
// 1:タブ / 2:カンマ (,) / 3:スペース / 4:セミコロン (;)
// 5:なし / 6:引数 Delimiterで指定された文字
Type.Missing, // (省略可能)Password
Type.Missing, // (省略可能)WriteResPassword
Type.Missing, // (省略可能)IgnoreReadOnlyRecommended
Type.Missing, // (省略可能)Origin
Type.Missing, // (省略可能)Delimiter
Type.Missing, // (省略可能)Editable
Type.Missing, // (省略可能)Notify
Type.Missing, // (省略可能)Converter
Type.Missing, // (省略可能)AddToMru
Type.Missing, // (省略可能)Local
Type.Missing // (省略可能)CorruptLoad
));

// 与えられたワークシート名から、Worksheetオブジェクトを得る
string sheetName = "Sheet1";
Excel.Worksheet oSheet; // Worksheetオブジェクト
oSheet = (Excel.Worksheet)oWBook.Sheets[
getSheetIndex(sheetName, oWBook.Sheets)];

//データ取り出し(コピー)
for (int i = 0; i < 100; i++)
{
//何行目
int DataRowNum = (int)(i / 3);
//何列目
int DataColNum = (int)(i % 3);

Excel.Range range1;
Excel.Range range2;

//コピー元
range1 = (Excel.Range)oSheet.Cells[1, StartCol1];
range2 = (Excel.Range)oSheet.Cells[1 + RowCount - 1, StartCol1 + ColCount - 1];
range1 = oSheet.get_Range(range1, range2);
range1.Copy(Type.Missing);

int rowstart = 0;
int colstart = 0;
int rowend = 0;
int colend = 0;

//コピー先検索
switch (DataColNum)
{
case 0:
rowstart = DataRowNum * RowCount + 1;
colstart = StartCol1;
rowend = DataRowNum * RowCount + RowCount;
colend = StartCol1 + ColCount - 1;
break;
case 1:
rowstart = DataRowNum * RowCount + 1;
colstart = StartCol2;
rowend = DataRowNum * RowCount + RowCount;
colend = StartCol2 + ColCount - 1;
break;
case 2:
rowstart = DataRowNum * RowCount + 1;
colstart = StartCol3;
rowend = DataRowNum * RowCount + RowCount;
colend = StartCol3 + ColCount - 1;
break;
default:
break;
}

range1 = (Excel.Range)oSheet.Cells[rowstart, colstart];
range2 = (Excel.Range)oSheet.Cells[rowend, colend];
//ペースト
range1 = oSheet.get_Range(range1, range2);
range1.PasteSpecial(Excel.XlPasteType.xlPasteAll, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);

//値を入れていく
int c1 = 0;
int r1 = 0;
//名前
((Excel.Range)oSheet.Cells[rowstart + r1, colstart + c1]).Value2 = "なまえ";
//年齢
c1 = 3;
r1 = 1;
((Excel.Range)oSheet.Cells[rowstart + r1, colstart + c1]).Value2 = rowstart + r1;
}

//oWBook.Close(Type.Missing, Type.Missing, Type.Missing);
//oXls.Quit();

}



// 指定されたワークシート名のインデックスを返すメソッド
private int getSheetIndex(string sheetName, Excel.Sheets shs)
{
int i = 0;
foreach (Excel.Worksheet sh in shs)
{
if (sheetName == sh.Name)
{
return i + 1;
}
i += 1;
}
return 0;
}

EclipseでAndroidアプリの開発:Failed to install *.apk解決

2011-05-28 14:08:36 | 日記
Eclipse Android アプリ 開発に置いて、
[Failed to install *.apk]といったエラーが発生することがあります。

Visuta,7(seven)の場合はEclipse自体を管理者で実行しなければなりません。
次にセキュリティソフトの設定が高すぎると同じくエラーになります。

Emulator起動時にアプリが実行されないのは以上の原因が考えられます。

よって
解決策1:管理者権限でEclipseを起動
解決策2:セキュリティソフトを一時的に停止する