ฉันจะเพิ่มระยะเวลาคงที่ให้กับสตริง“ hh: mm” ทั้งหมดในเอกสารได้อย่างไร


1

ฉันมีเอกสารที่ถอดความจากการสัมภาษณ์วิดีโอ วิดีโอมีการฝังไทม์โค้ด SMPTE รวมทั้งเบิร์นอิน timecode (BITC) SMPTE timecode และ BITC สอดคล้องกับช่วงเวลาของวันที่ทำการสัมภาษณ์ในรูปแบบ 24 ชั่วโมง

ในเอกสารการถอดความมีการประทับเวลาในวงเล็บเหลี่ยมทุกสองนาทีใน[hh:mm]รูปแบบ อย่างไรก็ตามการประทับเวลาการถอดเสียงเหล่านี้เริ่มต้นที่ '00: 00 '

มีวิธีการใช้ฟังก์ชั่น "ค้นหาและแทนที่" ในการค้นหาเอกสารค้นหาอินสแตนซ์ทั้งหมดhh:mmและเพิ่มเวลาที่แน่นอนให้กับการประทับเวลาเหล่านั้นซึ่งจะสะท้อนเวลาของวันจับคู่กับไทม์ของ SMPTE หรือไม่

ทางออกที่สมบูรณ์แบบจะเป็นเครื่องมือที่:

  1. ค้นหาการประทับเวลาทั้งหมดใน[hh:mm]รูปแบบ
  2. เพิ่มเวลาเริ่มการสัมภาษณ์ "yy: yy" ในรูปแบบ 24 ชั่วโมงให้กับการประทับเวลาดั้งเดิมทั้งหมด "xx: xx"
  3. แทนที่การประทับเวลาด้วยการประทับเวลาใหม่ที่ถูกต้อง "zz: zz" ซึ่งจะเท่ากับ xx: xx + yy: yy

ตัวอย่างเช่นหากการสัมภาษณ์ของฉันเริ่มต้นเวลา 9:30 น. ในตอนเช้าการประทับเวลาแต่ละครั้งจะถูกแทนที่ด้วยวิธีดังต่อไปนี้:

  1. 00:00 + 9:30 = 9:30
  2. 00:02 + 9:30 = 9:32
  3. 00:04 + 9:30 = 9:34
  4. เป็นต้น

คุณช่วยแบ่งปันข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลได้ไหม ข้อมูลทั้งหมดถูกจัดเก็บเป็นสตริงหรือไม่? มีทุกครั้งในคอลัมน์เดียวหรือไม่? มีข้อมูลที่ไม่ใช่เวลาในคอลัมน์หรือไม่ คุณเคยลองอะไรบ้างไหม?
gtwebb

คุณจะทำอย่างไรต้องการห่อจัดการ .................... 00:54 + 06:14 ??
นักเรียนของ Gary

1
@ Gary'sStudent OP กล่าวว่ารูปแบบ 24 ชั่วโมงดังนั้น 12:54 + 06:14 จึงไม่ห่อเป็น 19:08
FRob

1
คุณลองเครื่องบันทึกมาโครแล้วหรือยัง
Raystafarian

@gtwebb การประทับเวลาจะถูกเขียนลงในเนื้อหาของย่อหน้าข้อความโดยคั่นด้วยวงเล็บสี่เหลี่ยมระหว่างคำเช่นLorem [00:08] ipsum...
user260467

คำตอบ:


0

ฉันสงสัยว่านี่เป็นวิธีที่ดีที่สุดที่จะทำ แต่นี่เป็นทางออกหนึ่ง เห็นได้ชัดว่ามันไม่ได้ขัดมากเพราะฉันไม่แน่ใจว่าคุณจะเพิ่มเวลาของคุณได้อย่างไรหรือถ้าข้อมูลเป็นเพียงย่อหน้าในเซลล์เดียว แต่ควรทำให้คุณได้รับประโยชน์มากที่สุด

มันแยกค่าเซลล์ที่ใช้งานเป็นอาร์เรย์ที่มองหา "[" จากนั้นจะปรับอักขระ 2 ตัวแรกตามขั้นตอนชั่วโมงและตัวอักษร 4 และ 5 ตามขั้นตอนนาทีจากนั้นนำกลับมารวมกัน

นอกจากนี้ยังใช้งานได้กับ activecell ซึ่งไม่ใช่วิธีการเข้ารหัสที่ดีมาก

Sub update_times()

    Dim sParts() As String
    Dim input_text As String
    Dim output_text As String
    Dim split_on As String
    Dim hours_add As Integer
    Dim minutes_add As Integer
    Dim hours_final As Integer
    Dim minutes_final As Integer

    split_on = "["
    hours_add = 9
    minutes_add = 30
    input_text = ActiveCell.Value

    sParts = Split(input_text, split_on)
    output_text = sParts(0)

    For i = 1 To UBound(sParts)
        hours_final = Left(sParts(i), 2) + hours_add
        minutes_final = Mid(sParts(i), 4, 2) + minutes_add
        'checks to wrap data
        If minutes_final > 59 Then
            hours_final = hours_final + 1
            minutes_final = minutes_final - 60
        End If
        If hours_final > 23 Then
            hours_final = hours_final - 24
        End If
        'put the part back together with the new hour and minutes
        sParts(i) = "[" & Format(hours_final, "00") & ":" & Format(minutes_final, "00") & Right(sParts(i), Len(sParts(i)) - 5)
        'add the part to the final string
        output_text = output_text & sParts(i)
    Next
    ActiveCell.Value = output_text

End Sub

ฉันจะใช้สคริปต์นี้ใน OpenOffice ได้อย่างไร
user260467

ไม่มีความคิดคุณติดแท็กเป็น excel เพื่อให้เป็นสิ่งที่ฉัน scripted และสิ่งที่ฉันรู้ดีที่สุด
gtwebb

ใช่ฉันแค่คิดถึงแมโครที่อาจอยู่ระหว่าง Word และ Excel หรือระหว่าง OO Writer และ OO Calc
user260467
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.