|  | 分類:[.NET 全般]
 
 
 宜しくお願い致します
Windowsフォームアプリケーション.NET Framework c#
今作っているのがtextbox1に文字を入れボタンを押すと
現在パソコン上に開いているエクセルのA列を検索して
合致したB列のデータをtextbox2に表示しています
実行ファイルだけをコピーして違うパソコンでも使える様にしたいのですが
現在ILRepack.Lib.MSBuild.Taskを使用して実行ファイルを製作しようとしています
Releaseのフォルダの中のアプリケーションが
(dll)を含んだ状態にならないのですがどの様にすればいいでしょうか
宜しくお願い致します
using System;
using System.Windows.Forms;
using NetOffice.ExcelApi;
namespace WindowsFormsApp10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            string searchValue = textBox1.Text.Trim();
            if (string.IsNullOrEmpty(searchValue))
            {
                MessageBox.Show("検索する値を入力してください。");
                return;
            }
            try
            {
                NetOffice.ExcelApi.Application excelApp = GetRunningExcelInstance();
                if (excelApp == null || excelApp.Workbooks.Count == 0)
                {
                    MessageBox.Show("開いているExcelがありません。");
                    return;
                }
                Workbook workbook = excelApp.ActiveWorkbook;
                Worksheet worksheet = (Worksheet)workbook.ActiveSheet;
                Range usedRange = worksheet.UsedRange;
                Range columnA = usedRange.Columns[1];
                bool found = false;
                foreach (Range cell in columnA.Rows)
                {
                    if (cell.Value != null && cell.Value.ToString() == searchValue)
                    {
                        Range cellB = worksheet.Cells[cell.Row, 2];
                        textBox2.Text = cellB.Value?.ToString() ?? "(値なし)";
                        textBox1.Clear();
                        Range cellC = worksheet.Cells[cell.Row, 3];
                        string textToRead = cellC.Value?.ToString();
                        found = true;
                        break; 
                    }
                }
                if (!found)
                {
                    MessageBox.Show("一致するデータが見つかりませんでした。");
                }
            }
            catch (Exception ex) 
            {
                MessageBox.Show("エラー: " + ex.Message);
            }
        }
        private NetOffice.ExcelApi.Application GetRunningExcelInstance()
        {
            try
            {
                return NetOffice.ExcelApi.Application.GetActiveInstance();
            }
            catch
            {
                return null;
            }
        }
    }
}
 |