📦 T3_4_出荷スペース.vb - 詳細説明
📋 概要
このファイルは、物流管理システムにおける出荷スペース計算を担当するVisual Basicフォームクラスです。段ボール梱包やコンテナ積載の最適化を行い、トラック輸送や輸送機器の仕様に基づいた出荷計画を作成します。
主な機能:
- 出荷梱包物量データの読み込みと処理
- 段ボール梱包計算とパレット化
- コンテナ積載最適化
- トラック/輸送機器仕様に基づいた積載計画
- バース数の計算と出荷スペース最適化
🔧 依存関係
Imports OfficeOpenXml
EPPlusライブラリを使用してExcelファイルの読み書きを行います。
📊 主要なクラスとメンバー
クラス: T3_4出荷スペースFrom
Windowsフォームを継承した出荷スペース計算用のフォームクラス
🔹 重要なグローバル変数
| 変数名 |
説明 |
| コンテナ型式 |
使用するコンテナの型式(20ft、40ftなど) |
| 出荷コンテナ充填率 |
コンテナの充填効率(%) |
| 脱ボール充填率 |
段ボールのパレット充填効率(%) |
| 段ボール数計 |
総段ボール数 |
| 出荷コンテナ数計 |
必要なコンテナ総数 |
| 出荷コンテナ容積計 |
コンテナの総容積 |
| 空輸送機面積 |
空の輸送機器の面積 |
🎯 主要メソッド
1. フォームロード処理
Private Sub スペース計算2B出荷スペース_Load(sender As Object, e As EventArgs)
処理内容:
- 初期化処理(Dgv表示_チェック = 0)
- ファイルの存在確認
- 著作権と有効期間の表示
- スペース計算2A計算結果のExcel読み込み
- トラック及び輸送機器仕様のExcel読み込み
- 出荷スペースとバース数の計算実行
2. 出荷スペースとバース数計算
Private Sub 出荷スペースとバース数計算()
処理フロー:
- 出荷段ボール計算の実行
- 出荷コンテナ計算の実行
- 出荷スペースとバース数の集計
3. 段ボール梱包計算
Private Sub 出荷段ボール計算()
機能:
- DataGridViewの初期化と設定
- 段ボール梱包データの計算と表示
- パレット化(PL化)の計算
- トラック積載容量の計算
- バース数と積載時間の算出
注意: 梱包方法によって段ボールサイズと積載方法が変わります。
・出荷データの区分: より詳細な区分を使用
・まとめて段ボール梱包: まとめた梱包を使用
4. コンテナ計算
Private Sub 出荷コンテナ計算()
計算内容:
- コンテナ直積み計算(段ボールを直接コンテナに積載)
- コンテナPL化計算(パレットを使用した積載)
- 輸送機器(パレット、カゴ台車等)の選択と計算
- 積載効率の最適化
- 必要コンテナ数の算出
5. 集計処理
Private Sub 出荷スペースとバース数集計()
集計項目:
- 出荷バース数の合計
- 総トラック台数
- 総積載時間
- 総待機面積
- 仮置面積の計算
- 作業可能範囲の算出
📥 Excelデータ読み込み
スペース計算2A計算結果読み込み
Private Sub スペース計算2A計算結果_Excel読込()
読み込みデータ:
- 出荷梱包物量データ
- 出荷梱包数量と容積
- 全出荷日数、指定出荷日
- 梱包方法
- コンテナ型式と充填率
- 段ボール関連データ
ファイルパス: Dat保存Path & "\SoftData\スペース計算.xlsx"
シート名: 出荷梱包物量
トラック及び輸送機器仕様読み込み
Private Sub トラック及び輸送機器仕様_Excel読込()
読み込むシート:
| シート名 |
DataGridView |
用途 |
| トラック仕様 |
トラック仕様Dgv |
各種トラックの積載容量と寸法 |
| 輸送機器仕様 |
輸送機器仕様Dgv |
パレット、カゴ台車等の仕様 |
| 段ボールPL化トラック積載容量 |
段ボールPL化トラック積載容量Dgv |
パレット化時の積載容量 |
| 出荷コンテナ直積数 |
出荷コンテナ直積数Dgv |
コンテナへの直接積載数 |
| 出荷コンテナPL化積載数 |
出荷コンテナPL化積載数Dgv |
コンテナへのパレット積載数 |
| トラック別搬送機器積載数 |
トラック別搬送機器積載数Dgv |
トラック別の搬送機器積載能力 |
| 輸送機器別出荷コンテナ積載数 |
輸送機器別出荷コンテナ積載数Dgv |
輸送機器へのコンテナ積載能力 |
ファイルパス: Dat保存Path & "\SoftData\出荷スペース計算.xlsx"
🚛 輸送機器選択機能
全て段ボール梱包モード
Private Sub 全て段ボール梱包()
選択可能な輸送機器:
出荷データの区分時:
- 直積み輸送
- パレット1100*1100
- カゴ台車850*650
- カゴ台車1100*800
- ドーリー台車
- 両袖台車1260*425
- 両袖台車900*600
まとめて段ボール梱包時:
- 直積み輸送
- パレット1100*1100
- カゴ台車850*650
- カゴ台車1100*800
- 両袖台車1260*425
- 両袖台車900*600
- (ドーリー台車は除外)
自動変換: ドーリー台車が選択されていた場合、カゴ台車850*650に自動変換されます。
🔍 ヘルパー関数
トラック仕様取得関数
Private Function トラック仕様(ByVal 車種名 As String, 列 As Integer) As Double
指定された車種の仕様値を列番号で取得します。
輸送機器仕様取得関数
Private Function 輸送機器仕様(ByVal 機器名 As String, 列 As Integer) As Double
指定された輸送機器の仕様値を列番号で取得します。
積載容量計算関数
Private Function 段ボールPL化トラック積載容量(車種名 As String, 機器名 As String) As Double
トラックと輸送機器の組み合わせによる積載容量を返します。
コンテナ積載数計算関数
| 関数名 |
説明 |
| 出荷コンテナ直積数() |
コンテナへの段ボール直接積載可能数 |
| 出荷コンテナPL化積載数() |
コンテナへのパレット積載可能数 |
| トラック別搬送機器積載数() |
トラックへの輸送機器積載可能数 |
| トラック別搬送機器積載時間() |
積載に必要な時間 |
📐 計算ロジック
コンテナ計算の基本フロー
- コンテナ有無の判定
- コンテナ数計 > 0 の場合: コンテナ使用モード
- コンテナ数計 = 0 の場合: 段ボール直送モード
- 積載方法の選択
- 直積み: 段ボールを直接積載
- PL化: パレット等の輸送機器を使用
- 必要数の計算
- 輸送機器数の算出
- トラック台数の算出
- バース数の算出
- スペースの計算
- 待機面積の計算
- 仮置面積の計算
- 作業スペースの計算
バース数計算
バース数 = 総積載時間 / (出荷日数 × 1日の作業時間)
面積計算
待機面積 = トラック台数 × トラック占有面積
仮置面積 = 輸送機器数 × 輸送機器面積
総スペース = 待機面積 + 仮置面積 + 作業スペース
🎨 UI コンポーネント
DataGridView一覧
- 出荷梱包計後の容積Dgv: 梱包後の容積データ表示
- 出荷段ボール計算Dgv: 段ボール計算結果表示
- 出荷コンテナ計算Dgv: コンテナ計算結果表示
- スペース計算集計Dgv: 集計結果表示
- トラック仕様Dgv: トラック仕様データ表示
- 輸送機器仕様Dgv: 輸送機器仕様データ表示
ComboBox(輸送機器選択)
- 出荷方法1輸送機器Cb
- 出荷方法2輸送機器Cb
- 出荷方法3輸送機器Cb
TextBox(データ表示)
ボタン
- 出荷スペース計算開始Btn: 計算処理の実行
- クリック時に背景色が変化(LightYellow ⇔ PowderBlue)
- 計算状態の視覚的フィードバック
- スペース計算1入荷_閉じるTb: フォームを閉じる
⚠️ エラーハンドリング
ファイル存在チェック
If fi.Exists = False Then
MessageBox.Show("ファイルなし スペース計算2A出荷梱包物量から処理、終了します")
Me.Close()
End If
必要なExcelファイルが存在しない場合、エラーメッセージを表示してフォームを閉じます。
重要: スペース計算2A(前工程)が正常に完了していない場合、このモジュールは実行できません。
🔄 処理フロー全体図
┌─────────────────────────────────────┐
│ フォームロード │
└──────────┬──────────────────────────┘
│
├→ ファイル確認
├→ 著作権表示
├→ Excel読み込み(計算結果)
├→ Excel読み込み(仕様データ)
│
▼
┌─────────────────────────────────────┐
│ 出荷スペースとバース数計算 │
└──────────┬──────────────────────────┘
│
├→ 出荷段ボール計算
│ ├─ 段ボール数算出
│ ├─ パレット化計算
│ ├─ トラック台数計算
│ └─ バース数計算
│
├→ 出荷コンテナ計算
│ ├─ コンテナ直積み計算
│ ├─ コンテナPL化計算
│ ├─ 輸送機器選択
│ └─ 積載効率計算
│
└→ 出荷スペースとバース数集計
├─ バース数集計
├─ トラック台数集計
├─ 待機面積計算
├─ 仮置面積計算
└─ 総合スペース算出
📈 DataGridViewのフォーマット設定
セルスタイル
| スタイル |
設定 |
用途 |
| cstyle1 |
Alignment = MiddleCenter |
中央揃え(見出し等) |
| cstyle2 |
Alignment = MiddleRight Format = "N1" |
右揃え、小数点以下1桁表示 |
| cstyle3 |
Alignment = MiddleRight Format = "N3" |
右揃え、小数点以下3桁表示 |
共通設定
- RowHeadersVisible = False: 行ヘッダー非表示
- ColumnHeadersVisible = False: 列ヘッダー非表示
- AllowUserToAddRows = False: ユーザーによる行追加を無効化
- AutoSizeColumnsMode = AllCells: 列幅自動調整
- SortMode = NotSortable: ソート機能無効化
- ReadOnly = True: 読み取り専用
- Frozen = True: 先頭行・列の固定
💾 データの流れ
入力データ
- スペース計算.xlsx
- 出荷梱包物量シート
- 前工程(T3_2)で生成されたデータ
- 出荷スペース計算.xlsx
出力データ
- DataGridViewでの計算結果表示
- バース数、トラック台数、必要スペース等の集計値
- 積載計画の詳細データ
🔧 技術仕様
使用ライブラリ
- EPPlus: Excel ファイル操作(.xlsxの読み書き)
開発言語・フレームワーク
- 言語: Visual Basic .NET
- フレームワーク: Windows Forms
- ターゲット: .NET Framework
主要な技術要素
- イベントドリブン プログラミング
- DataGridView データバインディング
- Excel データ連携(EPPlus)
- 物流最適化アルゴリズム
📝 コメント付きコード領域
#Region ディレクティブ
コードは以下のRegionで構造化されています:
- 出荷スペース計算Excel読込: Excelデータ読み込み処理群
- 削除: 削除済み・未使用コード(コメントアウト)
メンテナンス性: Region ディレクティブによりコードの可読性と保守性が向上しています。
🚀 最適化のポイント
1. 充填率の最適化
- コンテナ充填率を調整して空間利用効率を向上
- 脱ボール充填率によるパレット効率の調整
2. 輸送機器の選択
- 梱包方法に応じた最適な輸送機器の自動選択
- ドーリー台車など特殊機器の適切な取り扱い
3. バース配分
- 作業時間と出荷日数を考慮したバース数の算出
- 待機面積と仮置面積の効率的な配分
⚙️ 設定可能なパラメータ
| パラメータ |
説明 |
影響範囲 |
| コンテナ型式 |
使用するコンテナの種類 |
積載容量、必要台数 |
| 充填率 |
コンテナ/パレットの充填効率 |
必要数量、スペース |
| 輸送機器 |
使用する輸送機器の種類 |
積載効率、作業時間 |
| トラック車種 |
使用するトラックの種類 |
積載容量、台数、待機面積 |
| 出荷日数 |
総出荷日数 |
バース数、日別作業量 |
🔗 関連モジュール
- T3_2 (前工程): 出荷梱包物量の計算を行い、本モジュールの入力データを生成
- T3_5 (次工程): 本モジュールの計算結果を使用してさらに詳細な計画を作成(推測)
データ連携: スペース計算.xlsx を通じて前工程とデータ連携を行います。
📚 まとめ
T3_4_出荷スペース.vb は、物流管理システムにおける出荷計画の最適化を担う重要なモジュールです。
主要な特徴
- ✅ 段ボール梱包からコンテナ積載までの包括的な計算
- ✅ 複数の輸送機器とトラック仕様に対応
- ✅ 視覚的なDataGridViewによる結果表示
- ✅ Excelとの連携による柔軟なデータ管理
- ✅ 充填率による最適化機能
- ✅ バース数と作業スペースの自動算出
ユースケース
- 大規模な出荷計画の立案
- 倉庫・物流センターのスペース設計
- 輸送コストの最適化
- 作業効率の分析と改善
重要: このモジュールを正常に動作させるには、前工程(T3_2)の実行と、必要なマスターデータ(出荷スペース計算.xlsx)の準備が必須です。
📞 サポート情報
ドキュメント作成日: 自動生成
対象ファイル: T3_4_出荷スペース.vb
言語: Visual Basic .NET (VB.NET)
総行数: 2047行