MS Excel、マクロの機能、または教師のビルのおかげ

画像

トレーニングでMS Excelを使用するというアイデアは、かなり前に生まれました。 VBAプログラミングに関する同様のトピックを持つフォーラムで、マクロは全能であるという言及に出くわします。 そうですか?



警告

この記事は役に立たず、面白くなく、うんざりし、ビル自身を含む惑星地球の住民の99.9999999%以上、および教育機関のほとんどの教師にとって理解不能です。



問題の声明



ご存知のように、ボローニャのプロセスはロシアの母校に沿って飛躍的に進みます。 また、多くの人がすでに知識評価のポイント評価システム(BRS)( http://study.engr.pfu.edu.ru/ )に切り替えています。 また、これは教師に追加の労働義務を課します。学業成績を追跡し、インターネット上でデータを絶えず公開することです。



さらに、前者はBRSの前に存在していましたが、後者は、各被験者について大量のデータを絶えず採点し、綿密に導入する必要があります。 そして、この分野では、60人が簡単に複数のストリームがある場合があります。 つまり、毎月平均100件のエントリが各従業員によってインターネットに登録されます。 さまざまな方法で、すべての人にとってこの「喜び」が必要です。 たとえば、チェックするのに約1時間半あります。 そして、これは機関だけではありません。 学校では、子供たちの成績をオンラインで知る傾向も見られます。 もちろん、これはいかなる形でも支払われません。 このプロセスを自動化してみましょう。



Excelが助けになります



ビル、彼らはあなたを愛していませんが、ハッキングされたバージョンのWindowsとOfficeを使用している先生から、ロシア人に感謝します!

画像

写真からわかるように、各生徒はランキングカードのセルで自分の場所を見つけることができます。 この場合、式によるマクロがなくても、獲得したポイントは自動的に計算されます。



この混乱をすべてサイトに公開するコードを書くことは残っています。 目標を達成するための方法を簡単に教えてください。

公開するには、最初に宛先ページのhtmlコードをパークし、このフィールドまたはその学生がどのフィールドにいるのかを判断する必要があります。



HTMLを入手

Function JabberGET(ByVal Urlka As String) As String

Dim objHTTP As Object

Set objHTTP = CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET", Urlka, False

objHTTP.setRequestHeader "Accept", "text/html"

objHTTP.setRequestHeader "Accept-Language", "ru-ru,ru"

objHTTP.setRequestHeader "Accept-Encoding", "gzip,deflate"

objHTTP.setRequestHeader "Accept-Charset", "windows-1251"

objHTTP.setRequestHeader "Keep-Alive", "115"

objHTTP.setRequestHeader "Connection", "keep-alive"

objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

objHTTP.Send Empty

Debug.Print objHTTP.responseText

JabberGET = objHTTP.responseText

End Function









解析は正規表現によって実行されます。

Dim RegEx As RegExp, RegMatch As MatchCollection

Dim myMatch As Match

Set RegEx = New RegExp

'String to parse

With RegEx

.MultiLine = True

.IgnoreCase = True

.Global = True

End With

RegEx.Pattern = "discipline_id..value=.\d{3,4}.|\s>\s.*<..>"

Set RegMatch = RegEx.Execute(MyStr)

If RegMatch.Count > 0 Then

For Each myMatch In RegMatch



Next

End If









次に、必要なフォームの[次へ]ボタンにInternet Explorerと以下を引き裂くコードを記述します。

Dim IE As Object

Set IE = CreateObject("InternetExplorer.Application")

Application.DisplayAlerts = False

url = "http://study.engr.pfu.edu.ru/index.php"

IE.Navigate "http://study.engr.pfu.edu.ru/tutor/logout.php"

While IE.Busy: DoEvents: Wend 'wait until IE is done loading page.



IE.Navigate url

Do Until IE.ReadyState = READYSTATE_COMPLETE: Loop



While IE.Busy: DoEvents: Wend 'wait until IE is done loading page.

IE.Visible = True

'ie is now done loading the page

IE.Document.all("valid_tutor_login").Value = getpass(0)

IE.Document.all("valid_tutor_password").Value = getpass(1)



Call ckickBtn("", IE)

While IE.Busy: DoEvents: Wend 'wait until IE is done loading page.

SubjCod = CoursGroupNumber(2, GroupNum)



For Each btn In IE.Document.all.tags("Input")

X = btn.Value

If btn.Value = SubjCod Or btn.Value = CourseNum Then

Call btn.Click

End If

Next btn

Call ckickBtn(">>", IE)







次の機能を持つボタンをクリックします。

Function ckickBtn(btm As String, IE As InternetExplorer)

For Each btn In IE.Document.all.tags("Input")

X = btn.Value

If btn.Value = btm Then

Call btn.Click

End If

Next btn

While IE.Busy: DoEvents: Wend 'wait until IE is done loading page.

Do Until IE.ReadyState = READYSTATE_COMPLETE: Loop 'Loop unitl ie page is fully loaded

End Function









画像



フォームが開いており、解析段階で受け取ったフィールドに従って、データがサイトに自動的に入力されます。 シンプルで上品。



まとめ



マクロを使用して実現された機能をリストします。

•自動学生採点

•工学部のWebサイトでのポイントの自動公開http://study.engr.pfu.edu.ru/

•次の学期の学生リストを更新した新しいワークシートを作成する

•件名とスケジュールに従って新しいリストのテンプレートを維持する

•ポイントを含むいくつかの基準による学生の迅速なフィルタリング

•作成者に質問する機能(サポートとの対応)

•プログラムは常に工学部のウェブサイト上の最新の変更で最新であり、それ自体が学生と科目のリストを更新します

•工学部のすべての教師の平均スコアの統計、アカウント認証を考慮して、なし

•工学部のすべてのコースの平均スコアの統計、認証を考慮して、およびなし



追加のモジュールをインストールすることなく、すべてのExcelユーザーが上記のすべてを利用できることに注意してください。 プログラムは* .xlsではなく、* .exeファイルとして起動します。これにより、マシン上で無効になっているマクロを操作でき、さらにバックアップが自動的に作成されます。



そして最後に、ブロック図

画像



PS

Excelからサイトにポイントをすばやく入力する方法は?

画像



次の学期の学生のリストをすばやく作成する方法は?

画像







All Articles