モジュールフローとは?プログラミング超初心者のための解説

このQ&Aのポイント
  • モジュールフローとは、プログラムの仕様を箇条書きで示したものです。
  • モジュールフローはフローチャートまたは処理ロジックの形式で書かれることが一般的です。
  • モジュールフローはプログラムの実行手順を可視化するために使用されます。
回答を見る
  • ベストアンサー

モジュールフローとは?

プログラミング超初心者です。 社内研修の事前課題で プログラムの仕様が日本語で箇条書きで書いてあり そのモジュールフローを書けという事前課題があります。 モジュールフローというのは、フローチャートのことですか? それとも、処理ロジックを下記のように書くのでしょうか?   Sub ○○処理()    Dim i As Integer     IF 条件1のとき     ~   End Sub 「一応、フォーマットは問いません。」とは記載されていましたが 一般的に、モジュールフローを書けといわれた場合 どのようなものを書くものなんですか? 初歩的な質問で申し訳ありません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

フォーマットは問いません,ということなので, 「モジュールフロー」「システムフローチャート」などのキーワードでGoogle画像検索して,上位にヒットした画像を参照してみればよろしいかと。 > モジュールフローというのは、フローチャートのことですか? > それとも、処理ロジックを下記のように書くのでしょうか? 大まかな機能単位(module)レベルの処理の流れの概略図であり,詳細な命令レベルでの記述は要求されていないものと捉えてください。 次のようなイメージでしょうか。【……】が機能単位です。 【初期画面】→(非会員)→【新規会員登録】  ↓ (会員)  ↓ 【ログイン処理】→(失敗)→ 省略  ↓ (成功)  ↓ 【マイページ表示】

cyandy-
質問者

お礼

回答ありがとうございました。 図にしろ、図でないにしろ 詳細な記述ではなく処理概要(流れ)を書けばいいんですね。 ありがとうございました。 研修の事前課題、がんばってみます!!

関連するQ&A

  • VBA 標準モジュールとフォーム

    ある標準モジュール内で生成した変数の値をフォームのコマンドボタンをクリックしたら表示されるプログラムはどうやってつくるのですか? 標準モジュール sub test() dim a as integer dim b as integer dim sum as string a=5 b=1 sum=a+b End sub フォームのコマンドボタンクリック Sub CommandButton1_Click() MsgBox sum End Sub 標準モジュールで計算した答えがフォームのコマンドボタンをクリックしたら答え6が表示されるようにしたいのですが、どうしたらできますか?

  • 標準モジュールとクラスモジュールの違い

    マイクロソフトのAccess2000でVBAプログラミングを行なっておりますが、 基本的なことを教えてください。 「標準モジュール」と「クラスモジュール」の違いはなんですか? 例えば、どこからでも使えるプロシージャ Public Function getSum( i1 as integer, i2 as interger ) getSum = i1 + i2 End Function を定義したとして、標準モジュール内に書くのとクラスモジュール内に 書くのとでは、何が違ってきますか?その他とにかく「標準モジュール」 とクラスモジュールの違いを教えてください。

  • VB.netで標準モジュールからフォームを呼び出す

    お世話になります。 標準モジュールから以下のようにフォームを呼び出しているんですがうまく表示されません。 どこが悪いんですか? 標準モジュール内----------------------   Public Sub Main()     Dim frm1 As New Form1     frm1.Show()   End Sub

  • VBA クラスモジュールについて

    http://www.excellenceweb.net/vba/class/what_vba_class.html を見ながらクラスモジュールの勉強をしているのですが 躓きました。 新規にクラスモジュールを挿入し オブジェクト名に果物売上と名付けました。 そこに、 Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 End Sub と入力しました。 そして標準モジュールを挿入し、 そこに Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 With Apple .名前 = "リンゴ" .価格 = 100 .在庫 = 20 .仕入数 = 50 End With With Apple Debug.Print .名前 End With End Sub を入力しました。 そして、デバッグすると 「Apple As 果物売上」の部分が コンパイルエラーになってしまいます。 全然クラスモジュールの使い方がわからないのですが どこを直せばいいのでしょうか?

  • ExcelVBA:パブリック オブジェクト モジュール…というエラーの対処法

    こんにちは。 今回、WindowsXP SP2上のExcel2003 VBAを使ってツールを作成しているのですが、 以下のようなエラーが出て手が止まっています。 「コンパイル エラー:  パブリック オブジェクト モジュールで定義されたユーザ定義型に限り、変数に割り当てることができ、実行時バインディングの関数に渡すことができます。」 というものです。 具体的な環境としまして、 標準モジュールにDefineTypeというモジュールを作成し、 Public Type Record ID As Integer Name As String End Type を定義しています。 これをクラスモジュールに作成したCClassから以下のように参照しています。 Private Detail As New Collection 'of Record Private Sub Sub1()   Dim rec As Record   rec.ID = 3   rec.Name = "おなまえ"   Detail.Add rec   ~~~~~~~~~~~~~~ End Sub Public Sub CallSub1()   Call Sub1 End Sub そして、このクラスの中のPublicな関数であるCallSub1を フォームモジュールから呼び出しているのですが、 Sub1 の Detail.Add がだめなようです。 ・このエラーの意味 ・どこがどうだめなのか ・どうすれば解決できるか を、糸口でも構いませんのでご教授下さい。 よろしくお願いいたします。

  • ThisWorkBookモジュールとSheetモジュールの両立

    エクセル2003でマクロを組んでいます。 Sheet1,Sheet2の2つのシートがあり、 片方のシートの"A4:G10"の範囲に値を書き込むと、もう片方の同じ位置に同じ値が書き込まれるようなマクロを組みたいです。 以前ここで教えていただいたものを改変して以下を作りました(ThisWorkBookモジュールです)。 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim r As Range Dim Num As Integer Dim S As String, Sh_name As String Sh_name = ActiveSheet.Name Set r = Intersect(Target, Range("A4:G10")) If Not (r Is Nothing) Then Application.EnableEvents = False For Num = 1 To 2 S = "Sheet" & Num If S <> Sh_name Then Worksheets(S).Range(r.Address).Value = r.Value End If Next Application.EnableEvents = True End If End Sub ここまでは正常に動作します。 また、 Sheet1とSheet2のモジュールに、 A列のセルに値が入力された場合、同じ行のC列のセルの色を塗るという記述をしています。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Cells(Target.Row, 3).Interior.ColorIndex = 5 End If End Sub これらを同時に生かしたいのですが、 どのように書けばいいでしょうか。 EnableEvents = False/Trueを消してしまうと、 Worksheets(S).Range(r.Address).Value = r.Valueが実行されるたびにThisWorkBookモジュールが動いているようです。 そして2回目のSet r = Intersect(Target, Range("A4:G10"))でエラーが出ます。 (エラーは出ずとも延々と(無限ではない回数)ThisWorkBookモジュールを繰り返したコードもありました。) よろしくお願いします。

  • エクセルVBAでシートモジュールでのパブリック変数

    エクセル2000です。 標準モジュールで取得したパブリック変数は他のシートモジュールで参照できますが、逆にシートモジュールで取得したパブリック変数は他のシートで参照できないのでしょうか? シートチェンジイベントで取得した文字列を変数nmに格納し、ワークブックモジュールで呼び出そうとしたら何もでてきませんでした。 どうやったらよいのでしょうか? 'シートモジュールの記述 Public nm As String Private Sub Worksheet_Change(ByVal Target As Range) Dim rw As Integer If Intersect(Target, Range("A1").CurrentRegion) Is Nothing Then Exit Sub If Selection.Count > 1 Then Exit Sub rw = Target.Row nm = IIf(Cells(rw, "A") = "", Cells(rw, "A").End(xlUp).Value, Cells(rw, "A").Value) 'MsgBox nm End Sub 'ThisWorkbookモジュールの記述 Private Sub Workbook_BeforeClose(Cancel As Boolean) If nm = "" Then Exit Sub MsgBox nm & "さん、ご苦労様でした。" End Sub

  • VBA クラスモジュールの使い方わかりません。

    為替データで検証中なのですがネットで使いたいクラスモジュールがあり、値の渡し方などわからなくて困ってます。 過去1ヶ月のデータで日付、始値、高値、安値、終値並んでいる値を標準モジュールからTRと言う名のクラスモジュールに渡して計算したいのですがわかりません。 標準モジュールのみで簡単なマクロを作れるレベルです。 下がTRクラスモジュールです。 どなたかお助けください。 Option Explicit Public Version As Long Public Description As String Public NumInSequences As Long Public NumParams As Long Private Sub Class_Initialize() Version = &H10000 Description = "TR(真のレンジ)" NumParams = 0 NumInSequences = 4 End Sub Public Sub Calc(A() As Double, O() As Double, H() As Double, L() As Double, C() As Double) Dim I As Integer Dim LastClose As Double '前日の終値 For I = LBound(A) To UBound(A) If C(I) = Invalid Then A(I) = Invalid GoTo NextElem End If Dim D1 As Double '今日の高値と安値の差 Dim D2 As Double '前日の終値から今日の高値までの差 Dim D3 As Double '前日の終値から今日の安値までの差 If LastClose = Invalid Then A(I) = Invalid LastClose = C(I) GoTo NextElem End If ' 3つのパターンのレンジを計算 D1 = H(I) - L(I) D2 = H(I) - LastClose D3 = LastClose - L(I) If D1 > D2 Then A(I) = D1 Else A(I) = D2 End If If (A(I) < D3) Then A(I) = D3 End If LastClose = C(I) NextElem: Next End Sub

  • 業務フローの見本ありますか?

    こんにちは。ある中小企業でシステム部に在籍してる者です。 実はこの度、社内でシステム検討委員会なるものが発足しまして、そこでまず 手始めに現状の各部門の業務を分かりやすい形でまとめてみようという話に なりました。つまり業務フローの作成です。 しかし、どういうフォーマットで書くのか決まってません。 各部門に任せて書かせたら統一性の無いものになるのは目に見えてます。 そこでシステム部としてフォーマットを掲示してそのフォーマットで各部門に 書いてきてもらおうと思ってます。 ですが、いいフォーマット案が思い浮かびません。 考えられる要素としては、時間、人、部門、処理(人、コンピューター)、帳票 などですが、これらをフローチャートみたいにしてまとめたいのです。 ちなみにエクセルで書きたいと思ってます。 何かよいフォーマットの見本がありましたらお知らせください。 よろしくお願いします。

  • VB6コントロール配列をパラメータとして渡す方法

    フォーム上にcmdStartというコマンドボタンが3個あります。それをクリックすると使用不可になるというプロシージャーですが、(1)のイベントに対して、(2)で処理する場合、下のようにやると、型がちがうといってエラーになります。 この場合、コントロールの配列を次のモジュールに渡すにはどのように書いたらいいのでしょうか? (1) Private Sub cmdStart_Click(Index As Integer) processGet cmdStart() End Sub (2) Public Sub processGet(pcmdStart() As Control) Dim i As Integer For i = 0 to 2 pcmdStart(i).Enabled=False Next i End Sub

専門家に質問してみよう