এক্সেলে নিজেই তৈরি করুন ডিজিটাল ডায়েরি সফটওয়্যার – Create your own digital diary software in Excel



এ.জে.পি উর্মি  ডিজিটাল ডায়েরি-A.J.P Urmi Digital Diary

স্মৃতির আসল মুহূর্তটি অদৃশ্য হয়ে যায়, স্মৃতি হল একটি ডায়েরি যা আমরা সকলেই আমাদের সাথে বহন করি। জীবনের সকল স্মৃতি লিপিবদ্ধ করে রাখুন এ.জে.পি উর্মি  ডিজিটাল ডায়েরিতে। আসল মুহূর্তটি অদৃশ্য হয়ে যায় তবে আপনাকে স্মরণ করিয়ে দেওয়ার জন্য সবসময় তার স্মৃতি আপনার কাছে থাকবে। 

ডিজিটাল ডায়েরির সুবিধা:

১:-গোপনীয়তা:

ডিজিটাল ডায়েরি ব্যবহারকারীদের উচ্চ গোপনীয়তার স্তর রয়েছে যা শ্রেণীবদ্ধ তথ্য রক্ষা করতে সাহায্য করে। এই ইডিজিটাল ডায়েরির পাসওয়ার্ড সুরক্ষিত। ভুল পাসওয়ার্ড প্রবেশ করানো হলে লগইন এক্সেস করতে পারবেন না এবং এর ফলে আপনার ব্যক্তিগত দুগ্ধে প্রবেশাধিকার লাভ করতে অনুপ্রবেশকারীদের বাধা দেয়।

২:- অনুসন্ধানযোগ্য এবং সহজেই সংরক্ষণযোগ্য:

এই পরবর্তী বিভাগটি বেশ স্ব-ব্যাখ্যামূলক, কিন্তু ডিজিটাল ডায়েরি অতীতের পোস্টগুলির মাধ্যমে অনুসন্ধান করার ক্ষমতা প্রদান করে, বা একটি নির্দিষ্ট উপায়ে এন্ট্রিগুলিকে ট্যাগ করার ক্ষমতা দেয় যা পরে উল্লেখ করা সহজ হতে পারে। এনালগ ডায়েরি এটি অফার করে না। উপরন্তু, একটি ডিজিটাল ডায়েরি ড্রপবক্স বা অন্য ফাইল স্টোরেজ সিস্টেমে ব্যাক আপ করা যেতে পারে, যাতে আপনি আত্মবিশ্বাসী হতে পারেন যে আপনার এন্ট্রি সবসময় থাকবে এবং সেগুলি হারিয়ে যাবে, চুরি হবে না বা নষ্ট হবে না।

৩:- প্রয়োজনীয় কাঠামো তৈরি করে:

আমরা বিশ্বাস করি এই পরবর্তী বিভাগটি অবিশ্বাস্যভাবে গুরুত্বপূর্ণ। ডিজিটাল ডায়েরি আপনার জন্য সেরা কাজ করে এমন একটি কাঠামো কাস্টমাইজ এবং তৈরি করার ক্ষমতা প্রদান করে। এই গঠন সুবিধা বিভিন্ন সক্ষম করে.

আপনি যদি একটি ফাঁকা পৃষ্ঠা দিয়ে শুরু করেন, তাহলে লেখার মতো বিষয় নিয়ে আসা কঠিন হতে পারে। এই কারণেই অনেক লোক ডায়েরি প্রম্পটগুলির সাথে মূল্য খুঁজে পায়।

আমি অতীতে স্ট্রাকচার্ড ডায়েরি কিনেছি, এবং এর জন্য আপনাকে ডায়েরি নির্মাতার ইচ্ছা অনুযায়ী আপনার আচরণকে মানিয়ে নিতে হবে। উদাহরণস্বরূপ, আমার কাছে একটি এনালগ ডায়েরি দৈনিক কৃতজ্ঞতার জন্য একটি বিভাগ রয়েছে। যদিও আমি এই কাঠামোটিকে সহায়ক বলে মনে করি, আপনার মধ্যে কেউ কেউ এটি পূরণ করতে চাই না।

এটি যত কম ব্যক্তিগতকৃত, অভ্যাসটি রাখার সম্ভাবনা তত কম।

সহজ করে বললে, একটি ফিজিক্যাল ডায়েরি আপনার রুচির সাথে মানিয়ে নিতে এবং পরিবর্তন করা যায় না যেভাবে একটি ডিজিটাল ডায়েরি করতে পারে। যখন আপনাকে আপনার আচরণকে খুব বেশি মানিয়ে নিতে হবে, তখন আপনি অভ্যাসটি তৈরি করতে পারবেন না, যা প্রথম স্থানে নিয়মিত ডায়েরির বিন্দু!

একটি চূড়ান্ত বিন্দু – আমি কাঠামোটি খুঁজে পেয়েছি এবং একটি কাজের/জীবনের প্রশিক্ষক হিসাবে কাজ করার জন্য অনুরোধ করে।

উদাহরণ প্রম্পট:

আপনি কি আজ কাজ করেছেন?

আজ কি পড়লেন?

আপনি কর্মক্ষেত্রে কোন মূল্যবান পাঠ শিখেছেন?

এটি আমাকে প্রতিফলিত করতে এবং আমার মস্তিষ্ক কীভাবে চিন্তা করে তা পুনরায় লিখতে সহায়তা করে। ডিজিটাল জার্নাল একটি কীস্টোন অভ্যাস, কারণ এটি অন্যান্য দরকারী অভ্যাসগুলিও কিকস্টার্ট করে। 

এ.জে.পি উর্মি  ডিজিটাল ডায়েরি: 

আমরা ইউজারফর্মে class (ক্লাস) ব্যবহার করে একটি ক্যালেন্ডার  সহ ডিজিটাল ডায়েরি তৈরি করেছি।এই ডিজিটাল ডায়েরিতে আপনি  প্রতি ঘন্টার নোট লিখার জন্য সংশ্লিষ্ট টেক্সট বক্স রয়েছে।

আপনি আপনার পছন্দসই তারিখটি ক্যালেন্ডার থেকে নির্বাচন করে , সেই তারিখের নোটগুলি সংশ্লিষ্ট টেক্সট বাক্সে লিখুন তারপর  বাটনে ক্লিক করুন।  এভাবে সেই তারিখের নোটগুলি টেক্সট বাক্সের ডাটা ওয়ার্কশীটের প্রাসঙ্গিক কক্ষগুলিতে সংরক্ষণ করা হয়।

এই ডিজিটাল ডায়েরির ক্যালেন্ডারটিতে  ১৯০৪ থেকে 2১০৩ তারিখগুলিকে কভার করে এবং ক্যালেন্ডারটি ব্যবহারকারীর সিস্টেম ভাষা অনুসারে তৈরি করা হয়। ওয়ার্কশীটের কলাম A দিন, মাস এবং বছর অনুসারে ১৯০৪ থেকে 2১০৩ এর মধ্যে তারিখগুলি তালিকাভুক্ত করে। কলাম C থেকে কলাম P পর্যন্ত শিরোনামে ঘন্টা তালিকাভুক্ত করা হয়েছে। এইভাবে, ঘন্টা অনুযায়ী নোট তৈরি করা যেতে পারে।

লুন শুরু করা যাক “এ.জে.পি উর্মি ডিজিটাল ডায়েরি সফ্টওয়্যারের  কোডিং”  প্রথমে আমরা কোডিং করব  লগইন ফর্ম এর কোডিং

লগইন ফর্ম:

লগইন  “Login” বাটনের জন্য VBA কোডস : 


Private Sub cmdOK_Click() Dim j As Integer j = 2 found = 0 While Sheets("Usr").Cells(j, 1) <> "" And found = 0 If Sheets("Usr").Cells(j, 2) = Trim(txtName.Text) And Sheets("Usr").Cells(j, 3) = txtPassword.Text Then found = 1 Application.Goto Worksheets("data").Range("A1") Unload Me UserForm2.show End If j = j + 1 Wend If found = 0 Then MsgBox "Wrong user name or password!", vbCritical, "Error" txtName.SetFocus End If End Sub

ক্যানসেল  “Cancel” বাটনের জন্য VBA কোডস: 

Private Sub cmdCancel_Click()
    Unload Me
    ThisWorkbook.Close SaveChanges:=False
End Sub

অ্যাড নিউ ইউসার ফর্ম-Add New User


অ্যাড নিউ ইউসার ফর্ম এর জন্য VBA কোডস: 

Option Explicit

Dim id As Integer, i As Integer, j As Integer, flag As Boolean

Sub GetData()

If IsNumeric(UserForm1.TextBox1.Value) Then
    flag = False
    i = 0
    id = UserForm1.TextBox1.Value
    
    Do While Cells(i + 1, 1).Value <> ""
    
        If Cells(i + 1, 1).Value = id Then
            flag = True
            For j = 2 To 3
                UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
            Next j
        End If
        
        i = i + 1
        
    Loop
    
    If flag = False Then
        For j = 2 To 3
            UserForm1.Controls("TextBox" & j).Value = ""
        Next j
    End If
    
Else
    ClearForm
End If
End Sub
Private Sub UserForm_Initialize()
RemoveCloseButton Me
TextBox1.SetFocus

End Sub

Private Sub TextBox1_Change()

GetData

End Sub

Private Sub CommandButton1_Click()

EditAdd

End Sub

Private Sub CommandButton2_Click()

ClearForm
End Sub

এডিট/অ্যাড বাটন কোডস: -Edit/Add Codes 

Sub EditAdd()

Dim emptyRow As Long

If UserForm1.TextBox1.Value <> "" Then
    flag = False
    i = 0
    id = UserForm1.TextBox1.Value
    emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
    
    Do While Cells(i + 1, 1).Value <> ""
    
        If Cells(i + 1, 1).Value = id Then
            flag = True
            For j = 2 To 3
                Cells(i + 1, j).Value = UserForm1.Controls("TextBox" & j).Value
            Next j
        End If
        
        i = i + 1
        
    Loop
    
    If flag = False Then
        For j = 1 To 3
            Cells(emptyRow, j).Value = UserForm1.Controls("TextBox" & j).Value
        Next j
    End If
    
End If

End Sub

ক্লিয়ার বাটন কোডস: -Clear Button Codes 

Sub ClearForm()

For j = 1 To 3
    UserForm1.Controls("TextBox" & j).Value = ""
Next j

End Sub
Sub CloseForm()
Unload Me
End Sub

এ.জে.পি উর্মি ডিজিটাল ডায়েরি সফটওয়্যার ইন্টারফেস ডিজাইন এবং কোডস 

'For more : https://karimexcelvba.blogspot.com/
Private WithEvents Calendar1 As cCalendar
Dim i As Byte, sor, sor2, sor3 As String

Private Sub Calendar1_Click()
On Error Resume Next
Dim ara As Range
Set ara = Sheets("data").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)

If Not ara Is Nothing Then
Sheets("data").Cells(ara.Row, 1).Select
TextBox5.Text = Sheets("data").Cells(ara.Row, 2).Value
For i = 6 To 19
Controls("TextBox" & i).Text = Sheets("data").Cells(ara.Row, i - 3).Value
Next
Else
MsgBox "The selected date not available.", vbCritical, "Create by Karim Urmi "
End If
End Sub

Private Sub CommandButton1_Click()
Dim ara As Range, y As Byte
Set ara = Sheets("data").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets("data").Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets("data").Cells(ara.Row, i - 3).Value = Controls("TextBox" & i).Text
Next
End If
sor2 = MsgBox("The data were saved", vbInformation, "Create by Karim Urmi")

For y = 2 To 16
Sheets("data").Columns(y).EntireColumn.WrapText = True
Next
End Sub
Private Sub CommandButton10_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox12.Value = ""
gir
End Sub
Private Sub CommandButton11_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox13.Value = ""
gir
End Sub

Private Sub CommandButton12_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox14.Value = ""
gir
End Sub

Private Sub CommandButton13_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox15.Value = ""
gir
End Sub

Private Sub CommandButton14_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox16.Value = ""
gir
End Sub

Private Sub CommandButton15_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub

TextBox17.Value = ""
gir
End Sub

Private Sub CommandButton16_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox18.Value = ""
gir
End Sub

Private Sub CommandButton17_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox5.Value = ""
gir
End Sub

Private Sub CommandButton18_Click()
sor3 = MsgBox("Do you want to save the workbook?", vbYesNo, "Create by Karim Urmi")
If sor3 = vbNo Then
   ActiveWorkbook.Close SaveChanges:=False
   Else
   ActiveWorkbook.Save
   Application.Quit
   End If

End Sub

Private Sub CommandButton19_Click()
Application.Goto Worksheets("Usr").Range("A1")
End Sub

Private Sub CommandButton3_Click()
Dim ara As Range
Set ara = Sheets("data").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets("data").Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets("data").Cells(ara.Row, i - 3).Value = Controls("TextBox" & i).Text
Next
End If
sor2 = MsgBox("The data were changed", vbInformation, "Create by Karim Urmi")
End Sub

Private Sub CommandButton4_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox6.Value = ""
gir
End Sub

Private Sub Image1_Click()
TextBox6.Value = ""
CommandButton1.SetFocus
End Sub

Private Sub CommandButton5_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox7.Value = ""
gir
End Sub

Private Sub CommandButton6_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox8.Value = ""
gir
End Sub

Private Sub CommandButton7_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox9.Value = ""
gir
End Sub

Private Sub CommandButton8_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox10.Value = ""
gir
End Sub

Private Sub CommandButton9_Click()
sor = MsgBox("Do you want to delete data?", vbYesNo, "Create by Karim Urmi")
If sor = vbNo Then Exit Sub
TextBox11.Value = ""
gir
End Sub

Private Sub Kapat_Click()
Unload UserForm2
End Sub

Private Sub gir()
Dim ara As Range
Set ara = Sheets("data").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets("data").Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets("data").Cells(ara.Row, i - 3).Value = Controls("TextBox" & i).Text
Next
End If
End Sub

Private Sub UserForm_Initialize()
RemoveCloseButton Me
 
 Set Calendar1 = New cCalendar
    Calendar1.Add_Calendar_into_Frame Me.Frame1
TextBox6.EnterKeyBehavior = True
For i = 5 To 18
Controls("TextBox" & i).EnterKeyBehavior = True
Controls("TextBox" & i).ScrollBars = fmScrollBarsBoth
Next
Calendar1_Click

End Sub
আপনাদের কোডিং এর সমস্যা বা বুঝতে সমস্যা কমেন্ট করুন।  ধন্যবাদ 

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!
%d bloggers like this: